{"version":3,"file":"main.js","mappings":"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","sources":["./src/Components/3rdParty/Rating/ratingcomponent.ts","./src/Components/3rdParty/ViewerComponent.ts","./src/Components/CustomerAccount/PropertyItemComponentEdit.ts","./src/Components/PopUps/ConfirmComponent.ts","./src/Components/PopUps/ErrorPopUpComponent.ts","./src/Components/PopUps/ImagePopUpComponent.ts","./src/Components/PopUps/LogInErrorPopUpComponent.ts","./src/Components/PopUps/MessageContentPopUpComponent.ts","./src/Components/PopUps/PopUpBusyComponent.ts","./src/Components/PopUps/ScannerPopUpComponent.ts","./src/Components/PropertyItem/PropertyItemMoveBulkComponent.ts","./src/Components/Shared/AddressEditComponent.ts","./src/Components/Shared/CustomerInvoiceArbitraryItemComponentEdit.ts","./src/Components/Shared/MakePaymentComponent.ts","./src/Components/Shared/PropertyItemGridComponent.ts","./src/Components/Shared/PropertyItemImageComponent.ts","./src/Components/Shared/ScheduleEditComponent.ts","./src/Components/account/auth-callback/auth-callback.component.ts","./src/Components/account/auth-callback/silent-callback.component.ts","./src/Components/account/auth-callback/support-callback.component.ts","./src/Components/account/confirm/actConfirm.component.ts","./src/Components/account/confirm/emailConfirm.component.ts","./src/Components/shell/ReportsShellComponent.ts","./src/Components/shell/SettingsShellComponent.ts","./src/Components/shell/SideMenuComponent.ts","./src/Components/shell/StorageShellComponent.ts","./src/Components/shell/header/header.component.ts","./src/Directives/DateParser.ts","./src/Directives/GmapDirections.ts","./src/Directives/LuxonHideMidnight.ts","./src/Directives/PhoneDisplay.ts","./src/Directives/TimeParser.ts","./src/Directives/auto-focus.directive.ts","./src/Directives/filterPipe.ts","./src/Directives/formatAddress.ts","./src/Directives/keyValueFilter.ts","./src/Directives/safeHtml.ts","./src/Directives/sortPipe.ts","./src/Directives/summaryNumber.ts","./src/Directives/toastsDisplay.ts","./src/Directives/uploadImagePreview.ts","./src/Directives/yesBlankPipe.ts","./src/Directives/yesNoPipe.ts","./src/Models/Interfaces/ItemStorageChargeTypeEnum.ts","./src/Models/Interfaces/PickupDeliveryItemActionEnum.ts","./src/Models/Interfaces/PickupDeliveryTypeEnum.ts","./src/Models/Interfaces/PropertyItemDocumentPurposeEnum.ts","./src/Models/OtherClasses.ts","./src/RoutingAuth/RoleAuthGuard.ts","./src/RoutingAuth/auth.guard.ts","./src/RoutingAuth/auth.interceptor.ts","./src/RoutingAuth/auth.service.ts","./src/RoutingAuth/parseUri.ts","./src/Services/AppInjector.ts","./src/Services/BaseBusyableComponent.ts","./src/Services/BaseEditComponent.ts","./src/Services/BaseEditPopUpComponent.ts","./src/Services/BaseService.ts","./src/Services/BlobErrorInterceptor.ts","./src/Services/ConfigService.ts","./src/Services/Custom/ServiceAgreement.ts","./src/Services/Custom/ServiceAgreementMaster.ts","./src/Services/Custom/ServiceAppUser.ts","./src/Services/Custom/ServiceChatMessage.ts","./src/Services/Custom/ServiceChecklist.ts","./src/Services/Custom/ServiceChecklistTask.ts","./src/Services/Custom/ServiceChecklistTaskStatusChange.ts","./src/Services/Custom/ServiceCommunicationTemplate.ts","./src/Services/Custom/ServiceCompany.ts","./src/Services/Custom/ServiceCompanyEmail.ts","./src/Services/Custom/ServiceCompanyEmailDomain.ts","./src/Services/Custom/ServiceCompanyPhoneNumber.ts","./src/Services/Custom/ServiceCompanyPromoCode.ts","./src/Services/Custom/ServiceCustomerAccount.ts","./src/Services/Custom/ServiceCustomerInvoice.ts","./src/Services/Custom/ServiceCustomerInvoiceItem.ts","./src/Services/Custom/ServiceDeliveryZone.ts","./src/Services/Custom/ServiceDeliveryZoneGroup.ts","./src/Services/Custom/ServiceEndUserCommunicationTracker.ts","./src/Services/Custom/ServiceImportFileTemplate.ts","./src/Services/Custom/ServiceLog.ts","./src/Services/Custom/ServiceOutsideLog.ts","./src/Services/Custom/ServicePayment.ts","./src/Services/Custom/ServicePerson.ts","./src/Services/Custom/ServicePhoneApp.ts","./src/Services/Custom/ServicePickupDelivery.ts","./src/Services/Custom/ServicePickupDeliveryExtraFee.ts","./src/Services/Custom/ServicePickupDeliverySpecialItem.ts","./src/Services/Custom/ServicePropertyItem.ts","./src/Services/Custom/ServicePropertyItemDocument.ts","./src/Services/Custom/ServicePropertyItemInspection.ts","./src/Services/Custom/ServicePropertyItemNote.ts","./src/Services/Custom/ServicePropertyItemSpecialItem.ts","./src/Services/Custom/ServiceQB.ts","./src/Services/Custom/ServiceReferralSource.ts","./src/Services/Custom/ServiceReports.ts","./src/Services/Custom/ServiceReservation.ts","./src/Services/Custom/ServiceSatisfactionSurveyQuestion.ts","./src/Services/Custom/ServiceSatisfactionSurveyResponse.ts","./src/Services/Custom/ServiceSchedule.ts","./src/Services/Custom/ServiceScheduleItem.ts","./src/Services/Custom/ServiceSearch.ts","./src/Services/Custom/ServiceShipmentBOL.ts","./src/Services/Custom/ServiceShipmentBOLDocument.ts","./src/Services/Custom/ServiceStorageLocation.ts","./src/Services/Custom/ServiceStorageRack.ts","./src/Services/Custom/ServiceStorageSpace.ts","./src/Services/Custom/ServiceTimeZone.ts","./src/Services/Custom/ServiceTruck.ts","./src/Services/Custom/ServiceTruckLocation.ts","./src/Services/Custom/ServiceTypeCancellationReason.ts","./src/Services/Custom/ServiceTypeCountry.ts","./src/Services/Custom/ServiceTypeCustomerAccount.ts","./src/Services/Custom/ServiceTypeOrderTag.ts","./src/Services/Custom/ServiceTypePaymentSource.ts","./src/Services/Custom/ServiceTypePropertyItem.ts","./src/Services/Custom/ServiceTypeStorageFee.ts","./src/Services/Custom/ServiceTypeTruck.ts","./src/Services/Custom/ServiceUploadedFile.ts","./src/Services/DialogService.ts","./src/Services/ProfiledHttpInterceptor.ts","./src/Services/RouterComponent.ts","./src/Services/SortableStuff/sort.service.ts","./src/Services/SortableStuff/sortable-column.component.ts","./src/Services/SortableStuff/sortable-table.directive.ts","./src/Services/UrlService.ts","./src/Services/service.module.ts","./src/app-routing.module.ts","./src/app.component.ts","./src/app.module.ts","./src/common.module.ts","./src/environments/environment.ts","./src/main.ts","webpack:///./src/Components/3rdParty/ViewerComponent.ts?005d","./src/Components/3rdParty/Rating/ratingcomponent.css","./src/Components/account/auth-callback/auth-callback.component.css","./src/Components/shell/header/header.component.css","ignored|D:\\Dropbox\\Business\\Clients\\BusDBSolutions\\TooBig4Car\\Site\\TooBig4Car\\TooBig4Car.Web\\ClientApp\\node_modules\\crypto-js|crypto"],"sourcesContent":["import { Component, Input, Output, EventEmitter, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-rating',\r\n templateUrl: 'ratingcomponent.html',\r\n\tstyleUrls: ['ratingcomponent.css'],\r\n\t\r\n})\r\n\t///Borrowed from http://embed.plnkr.co/Qi6tEdIyaRoGgSj2z4M9/\r\nexport class RatingComponent implements OnInit {\r\n\t@Input() ReadOnly: boolean = false;\r\n\r\n\t@Input() rating: number;\r\n\t@Output() ratingChange: EventEmitter = new EventEmitter();\r\n\r\n\t@Input() itemId: number;\r\n\t@Output() ratingClick: EventEmitter = new EventEmitter();\r\n\r\n\tinputName: string;\r\n\tngOnInit() {\r\n\t\tthis.inputName = 'r' + this.itemId + '_rating' + Date.now().toString() + Math.ceil(Math.random() * 1000000).toString();\r\n\t}\r\n\tonClick(rating: number): void {\r\n\t\tif (!this.ReadOnly) {\r\n\t\t\tthis.rating = rating;\r\n\t\t\tthis.ratingChange.emit(rating);\r\n\r\n\t\t\tthis.ratingClick.emit({\r\n\t\t\t\titemId: this.itemId,\r\n\t\t\t\trating: rating\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { takeUntil } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { AuthService } from '../../RoutingAuth/auth.service';\r\nimport { BaseBusyableComponent } from '../../Services/BaseBusyableComponent';\r\nimport { ConfigService } from '../../Services/ConfigService';\r\nimport { PropertyItemDocumentService } from '../../Services/Custom/ServicePropertyItemDocument';\r\nimport { pdfDefaultOptions } from 'ngx-extended-pdf-viewer';\r\n\r\n@Component({\r\n\tselector: 'viewer',\r\n\ttemplateUrl: 'Viewer.html',\r\n\t\r\n\tstyles: ['.homeMinHeight { line-height: 250px; }']\r\n})\r\nexport class ViewerComponent extends BaseBusyableComponent implements OnInit {\r\n\r\n\tconstructor(\r\n\t\tprotected configData: ConfigService,\r\n\t\tprivate authService: AuthService,\r\n\t\tprotected myPropertyItemDocumentService: PropertyItemDocumentService,\r\n\t\tprivate route: ActivatedRoute) {\r\n\t\tsuper();\r\n\t\tpdfDefaultOptions.assetsFolder = 'dist/assets';\r\n\t}\r\n\r\n\tblob: Blob = null;\r\n\tblobResponse: BlobResponse = null;\r\n\r\n\tngOnInit() {\r\n\t\tif (this.configData.user) {\r\n\t\t\tthis.route.params.subscribe(params => {\r\n\t\t\t\tvar id = params['id'] || this.configData.DefaultEmptyGuid;\r\n\t\t\t\tthis.loadItem(id);\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.authService.login();\r\n\t\t}\r\n\t}\r\n\tloadItem(id: System.Guid) {\r\n\t\tthis.myPropertyItemDocumentService.downloadDoc(id)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe(obj => {\r\n\t\t\t\tthis.blob = obj.blob;\r\n\t\t\t\tthis.blobResponse = obj;\r\n\t\t\t},\r\n\t\t\t(error: any) => {\r\n\t\t\t\tthis.configData.goHome();\r\n\t\t\t}\r\n\t\t\t);\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { takeUntil } from 'rxjs';\r\nimport { BaseEditPopUpComponent } from '../../Services/BaseEditPopUpComponent';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { PropertyItemService } from \"../../Services/Custom/ServicePropertyItem\";\r\n\r\n@Component({\r\n\tselector: 'PropertyItem-edit',\r\n\ttemplateUrl: 'PropertyItemEdit.html',\r\n\r\n})\r\nexport class CustomerPropertyItemEditComponent extends BaseEditPopUpComponent {\r\n\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate iactiveModal: NgbActiveModal,\r\n\t\tprivate myPropertyItemService: PropertyItemService,\r\n\t) {\r\n\t\tsuper();\r\n\r\n\t\tthis.activeModal = iactiveModal;\r\n\t}\r\n\r\n\r\n\tmyItem = {} as TooBig4Car.Logic.PropertyItemCustomerVM;\r\n\r\n\tloadItem(item: TooBig4Car.Logic.PropertyItemCustomerVM) {\r\n\t\tthis.myItem = item;\r\n\t}\r\n\r\n\tsaveItem(form: NgForm) {\r\n\t\tthis.isSaving = true;\r\n\t\tthis.myPropertyItemService.saveCustomerFields(this.myItem)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe((returnVal) => {\r\n\t\t\t\tthis.closePopUp(returnVal);\r\n\t\t\t},\r\n\t\t\t\t(error: any) => {\r\n\t\t\t\t\tthis.showValidationErrors(error, form);\r\n\t\t\t\t});\r\n\t}\r\n}\r\n","\timport { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n\tselector: 'ConfirmComponent',\r\n\ttemplateUrl: 'ConfirmComponent.html',\r\n \r\n})\r\nexport class ConfirmComponent {\r\n \r\n\tconstructor(\r\n\t\tprivate activeModal: NgbActiveModal,\r\n\t\t) {\r\n\t\t\r\n\t}\r\n\r\n\t@Input() public message: string = \"\";\r\n\t\r\n\tcancel(result: boolean) {\r\n\t\tthis.activeModal.close(result);\r\n\t}\r\n}\r\n","\timport { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n selector: 'ErrorPopUpComponent',\r\n templateUrl: 'ErrorPopUpComponent.html',\r\n \r\n})\r\nexport class ErrorPopUpComponent {\r\n \r\n\tconstructor(\r\n\t\tprivate activeModal: NgbActiveModal,\r\n\t\t) {\r\n\t\t\r\n\t}\r\n\r\n\t@Input() public errorTitle: string = \"Error\";\r\n\r\n\t@Input() public errorBody: string = \"\";\r\n\r\n\t@Input() public errorStack: string = \"\";\r\n\r\n\t\r\n\tcancel() {\r\n\t\tthis.activeModal.close();\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport saveAs from 'file-saver';\r\nimport { PropertyItemDocumentPurposeEnum } from '../../Models/Interfaces/PropertyItemDocumentPurposeEnum';\r\nimport { BlobResponse, PropertyItemDocumentPurposeEnumHelper } from '../../Models/OtherClasses';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { PropertyItemDocumentService } from '../../Services/Custom/ServicePropertyItemDocument';\r\n\r\n@Component({\r\n\tselector: 'ImagePopUp',\r\n\ttemplateUrl: 'ImagePopUp.html',\r\n\r\n})\r\nexport class ImagePopUpComponent {\r\n\r\n\tfile: BlobResponse;\r\n\tdataSrc: string;\r\n\tallDocCol: TooBig4Car.Logic.PropertyItemDocument[] = [];\r\n\tmyIndex: number = 0;\r\n\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate myPropertyItemDocumentService: PropertyItemDocumentService,\r\n\t\tprivate activeModal: NgbActiveModal) {\r\n\r\n\t}\r\n\r\n\tsetBlob(iBlob: BlobResponse, idx: number, col: TooBig4Car.Logic.PropertyItemDocument[]) {\r\n\t\tthis.myIndex = idx;\r\n\t\tthis.allDocCol = col;\r\n\t\tthis.loadOverlay(idx);\r\n\t\tthis.file = iBlob;\r\n\t\tthis.configData.blobToBase64(iBlob.blob)\r\n\t\t\t.then(dataStr => {\r\n\t\t\t\tthis.dataSrc = dataStr;\r\n\t\t\t});\r\n\t}\r\n\tclosePopUp() {\r\n\t\tthis.activeModal.close();\r\n\t}\r\n\r\n\tdownloadDoc() {\r\n\t\tif (this.file) {\r\n\t\t\tsaveAs(this.file.blob, this.file.fileName);\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n\tget nextAllowed(): boolean {\r\n\t\treturn this.getListLength() > 1;\r\n\t}\r\n\tnext() {\r\n\t\tif (this.nextAllowed) {\r\n\t\t\tthis.loadIDX(this.myIndex + 1);\r\n\t\t}\r\n\t}\r\n\r\n\tget prevAllowed(): boolean {\r\n\t\treturn this.getListLength() > 1;\r\n\t}\r\n\tprev() {\r\n\t\tif (this.prevAllowed) {\r\n\t\t\tthis.loadIDX(this.myIndex - 1);\r\n\t\t}\r\n\t}\r\n\r\n\tgetListLength(): number {\r\n\t\treturn this.allDocCol?.length ?? 0;\r\n\t}\r\n\toverlayText = '';\r\n\tloadOverlay(newIDX: number) {\r\n\t\tthis.overlayText = '';\r\n\t\tvar myDoc: TooBig4Car.Logic.PropertyItemDocument = null;\r\n\t\tif (newIDX >= 0 && newIDX < this.getListLength()) {\r\n\t\t\tmyDoc = this.allDocCol[newIDX];\r\n\t\t}\r\n\t\tif (myDoc && this.configData.IsEmptyGuid(myDoc.PickupDeliveryItemID)) {\r\n\t\t\tthis.overlayText = myDoc.OverlayText;\r\n\t\t}\r\n\t}\r\n\t\r\n\tloadIDX(newIDX: number) {\r\n\t\tthis.overlayText = '';\r\n\t\tvar innerIDX = newIDX;\r\n\t\tvar listLength = this.getListLength();\r\n\t\tif (listLength > 1) {\r\n\t\t\tif (newIDX < 0) {\r\n\t\t\t\tinnerIDX = listLength - 1;\r\n\t\t\t} else if (newIDX > listLength - 1) {\r\n\t\t\t\tinnerIDX = 0;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tinnerIDX = -1;\r\n\t\t}\r\n\t\tvar thisHolder = this;\r\n\t\tif (innerIDX >= 0) {\r\n\t\t\tthis.myPropertyItemDocumentService.downloadDoc(this.allDocCol[innerIDX].PropertyItemDocumentID)\r\n\t\t\t\t.subscribe(file => {\r\n\t\t\t\t\tthisHolder.setBlob(file, innerIDX, this.allDocCol);\r\n\t\t\t\t\tthisHolder.loadOverlay(innerIDX);\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { AuthService } from '../../RoutingAuth/auth.service';\r\nimport { AppInjector } from '../../Services/AppInjector';\r\n\r\n@Component({\r\n\tselector: 'LogInErrorPopUpComponent',\r\n\ttemplateUrl: 'LogInErrorPopUpComponent.html',\r\n\t\r\n})\r\nexport class LogInErrorPopUpComponent {\r\n\r\n\tconstructor(\r\n\t\t\r\n\t\tprivate activeModal: NgbActiveModal\r\n\t) {\r\n\t\tthis.authService = AppInjector.get(AuthService);\r\n\t\tLogInErrorPopUpComponent\r\n\r\n\t}\r\n\tauthService: AuthService = null;\r\n\r\n\tlogin() {\r\n\t\tif (this.authService) {\r\n\t\t\tthis.authService.login();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tcancel() {\r\n\t\tthis.activeModal.close();\r\n\t}\r\n}\r\n","\timport { Component, Input } from '@angular/core';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@Component({\r\n\tselector: 'MessageContentPopUpComponent',\r\n\ttemplateUrl: 'MessageContentPopUpComponent.html',\r\n \r\n})\r\nexport class MessageContentPopUpComponent {\r\n \r\n\tconstructor(\r\n\t\tprivate activeModal: NgbActiveModal,\r\n\t\t) {\r\n\t\t\r\n\t}\r\n\r\n\t@Input() public Title: string = \"Content\";\r\n\r\n\t@Input() public Content: string = \"\";\r\n\r\n\t@Input() public AdminContent: string = \"\";\r\n\r\n\t\r\n\tcancel() {\r\n\t\tthis.activeModal.close();\r\n\t}\r\n}\r\n","import { Component, Input, OnInit, SimpleChanges, OnChanges, OnDestroy } from '@angular/core';\r\nimport { ActivatedRoute, ParamMap } from '@angular/router';\r\nimport { Location } from '@angular/common';\r\nimport { Observable, timer } from 'rxjs';\r\nimport { FormsModule, NgForm } from '@angular/forms';\r\nimport { BaseEditComponent } from \"../../Services/BaseEditComponent\";\r\nimport { FileUploader } from 'ng2-file-upload';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'PopUpBusy',\r\n templateUrl: 'PopUpBusy.html',\r\n \r\n})\r\nexport class PopUpBusyComponent implements OnInit, OnDestroy {\r\n\r\n\tsub: Subscription = null;\r\n\tngOnDestroy() {\r\n\t\tif (this.sub) {\r\n\t\t\tthis.sub.unsubscribe();\r\n\t\t}\r\n\t}\r\n\tngOnInit() {\r\n\t\ttry {\r\n\t\t\t// subscribing to a observable returns a subscription object\r\n\t\t\tthis.sub = timer(1000, 1000).subscribe(() => {\r\n\t\t\t\tthis.cnter++;\r\n\t\t\t\tif (this.cnter >= this.words.length) {\r\n\t\t\t\t\tthis.cnter = 0;\r\n\t\t\t\t}\r\n\t\t\t\tthis.BusyText = this.words[this.cnter];\r\n\t\t\t});\r\n\t\t} catch (err) {\r\n\t\t\tthis.BusyText = this.words[this.cnter];\r\n\t\t}\r\n\t}\r\n\r\n\tcnter: number = 0;\r\n\twords: string[] = ['Working...', 'Searching...', 'Trying...', 'Giving it a go...'];\r\n\r\n\tBusyText: string = '';\r\n constructor(\r\n public configData: ConfigService,\r\n\t\tprivate activeModal: NgbActiveModal) {\r\n\r\n\t\tthis.BusyText = this.words[this.cnter];\r\n\t}\r\n\r\n\tclosePopUp(obj: any) {\r\n\t\tthis.activeModal.close();\r\n\t}\r\n\r\n\tcancelOperation() {\r\n\t\tthis.activeModal.close(true);\r\n\t}\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { BarcodeFormat } from '@zxing/library';\r\nimport { ZXingScannerComponent } from '@zxing/ngx-scanner';\r\n\r\n@Component({\r\n\tselector: 'ScannerPopUp',\r\n\ttemplateUrl: 'ScannerPopUp.html',\r\n\t\r\n})\r\n\r\nexport class ScannerPopUpComponent implements OnInit {\r\n\tngOnInit(): void {\r\n\t}\r\n\r\n\t@Output() scanResult = new EventEmitter();\r\n\r\n\tscanSuccess(result: string) {\r\n\t\tvar thisHolder = this;\r\n\t\tif (result) {\r\n\t\t\tthisHolder.scanResult.emit(result);\r\n\t\t}\r\n\t}\r\n\tcamerasNotFound(devices: MediaDeviceInfo[]) {\r\n\t\tthis.qrResult = 'No Cameras Found';\r\n\t}\r\n\tcamerasFound(cams: MediaDeviceInfo[]) {\r\n\t\tthis.availableDevices = cams;\r\n\t\tconsole.log(\"Devices\", cams);\r\n\t\tif (cams && cams.length > 0) {\r\n\t\t\tthis.selectedDevice = cams[0];\r\n\t\t\tthis.camStarted = true;\r\n\t\t}\r\n\t}\r\n\r\n\t@ViewChild('scanner')\r\n\tscanner: ZXingScannerComponent;\r\n\r\n\tconstructor() {\r\n\t}\r\n\r\n\tscannerSetUp: boolean = false;\r\n\t_visible: boolean = false;\r\n\t@Input()\r\n\tget visible(): boolean {\r\n\t\treturn this._visible;\r\n\t}\r\n\tset visible(val: boolean) {\r\n\t\tthis._visible = val;\r\n\t\tif (val) {\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tcamStarted = false;\r\n\tselectedDevice: any = null;\r\n\tsearchText: string = \"Searching...\";\r\n\tqrResult = this.searchText;\r\n\tavailableDevices: any[] = [];\r\n\tallowedFormats = [BarcodeFormat.QR_CODE, BarcodeFormat.CODE_93, BarcodeFormat.CODE_39, BarcodeFormat.CODE_128, BarcodeFormat.UPC_A ];\r\n\t\r\n\r\n\t\r\n\r\n\tonChange(selectedValue: string) {\r\n\t\tthis.camStarted = false;\r\n\t\tthis.selectedDevice = selectedValue;\r\n\t\tif (selectedValue) {\r\n\t\t\tthis.camStarted = true;\r\n\t\t}\r\n\t}\r\n\t\r\n}\r\n","import { takeUntil } from 'rxjs';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BarcodeFormat } from '@zxing/library';\r\nimport { ZXingScannerComponent } from '@zxing/ngx-scanner';\r\nimport { debounceTime, distinctUntilChanged, filter, map, Observable, switchMap } from 'rxjs';\r\nimport { BaseEditPopUpComponent } from '../../Services/BaseEditPopUpComponent';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { PropertyItemService } from '../../Services/Custom/ServicePropertyItem';\r\nimport { SearchService } from '../../Services/Custom/ServiceSearch';\r\nimport { StorageSpaceService } from '../../Services/Custom/ServiceStorageSpace';\r\n\r\n@Component({\r\n\tselector: 'PropertyItemMoveBulk-edit',\r\n\ttemplateUrl: 'PropertyItemMoveBulk.html',\r\n\t\r\n})\r\nexport class PropertyItemMoveBulkComponent extends BaseEditPopUpComponent implements OnInit {\r\n\r\n\tngOnInit(): void {\r\n\t}\r\n\r\n\tscanSuccess(val: string) {\r\n\t\tif (val && val.length > 2) {\r\n\t\t\tvar searchObj: TooBig4Car.Logic.SearchVM = {\r\n\t\t\t\tSearchText: val\r\n\t\t\t};\r\n\t\t\tthis.mySearchService.search(searchObj)\r\n\t\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t\t.subscribe(col => {\r\n\t\t\t\t\tif (col.length) {\r\n\t\t\t\t\t\tvar obj = col[0];\r\n\t\t\t\t\t\tif (obj.TypeObject == \"StorageSpace\") {\r\n\t\t\t\t\t\t\tthis.myItem.NewStorageSpaceID = obj.ID;\r\n\t\t\t\t\t\t\tthis.myItem.NewStorageSpaceName = obj.SearchName;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\tcamerasNotFound(devices: MediaDeviceInfo[]) {\r\n\t\tthis.qrResult = 'No Cameras Found';\r\n\t}\r\n\tcamerasFound(cams: MediaDeviceInfo[]) {\r\n\t\tthis.availableDevices = cams;\r\n\t\tconsole.log(\"Devices\", cams);\r\n\t\tif (cams && cams.length > 0) {\r\n\t\t\tthis.selectedDevice = cams[0];\r\n\t\t\tthis.camStarted = true;\r\n\t\t}\r\n\t}\r\n\r\n\t@ViewChild('scanner')\r\n\tscanner: ZXingScannerComponent;\r\n\r\n\tscannerSetUp: boolean = false;\r\n\t_visible: boolean = false;\r\n\t@Input()\r\n\tget visible(): boolean {\r\n\t\treturn this._visible;\r\n\t}\r\n\tset visible(val: boolean) {\r\n\t\tthis._visible = val;\r\n\t\tif (val) {\r\n\r\n\t\t}\r\n\t}\r\n\r\n\tcamStarted = false;\r\n\tselectedDevice: any = null;\r\n\tsearchText: string = \"Searching...\";\r\n\tqrResult = this.searchText;\r\n\tavailableDevices: any[] = [];\r\n\tallowedFormats = [BarcodeFormat.QR_CODE, BarcodeFormat.CODE_93, BarcodeFormat.CODE_39, BarcodeFormat.CODE_128, BarcodeFormat.UPC_A];\r\n\r\n\r\n\r\n\r\n\tonChange(selectedValue: string) {\r\n\t\tthis.camStarted = false;\r\n\t\tthis.selectedDevice = selectedValue;\r\n\t\tif (selectedValue) {\r\n\t\t\tthis.camStarted = true;\r\n\t\t}\r\n\t}\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate mySearchService: SearchService,\r\n\t\tprivate myPropertyItemService: PropertyItemService,\r\n\t\tprivate myStorageSpaceService: StorageSpaceService,\r\n\t\tprivate myActiveModal: NgbActiveModal\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.activeModal = this.myActiveModal;\r\n\t}\r\n\r\n\tspaceFormatter = (value: TooBig4Car.Logic.StorageSpace) => value.FullStorageName;\r\n\r\n\tsearchSpace = (text$: Observable) =>\r\n\t\ttext$.pipe(\r\n\t\t\tfilter(term => term != '' && term.length > 2),\r\n\t\t\tmap(a => a.trim()),\r\n\t\t\tdebounceTime(400),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\tswitchMap((term: string) => this.myStorageSpaceService.search(term))\r\n\t\t);\r\n\r\n\tonSelectSpace($event: any) {\r\n\t\t$event.preventDefault();\r\n\t\tthis.myItem.NewStorageSpaceID = $event.item.StorageSpaceID;\r\n\t\tthis.myItem.NewStorageSpaceName = $event.item.FullStorageName;\r\n\t}\r\n\r\n\tmyItem = {} as TooBig4Car.Logic.PropertyItemMoveBulkVM;\r\n\r\n\r\n\r\n\tsaveItem(form: NgForm) {\r\n\t\tif (!this.configData.IsEmptyGuid(this.myItem.NewStorageSpaceID)) {\r\n\t\t\tthis.myPropertyItemService.moveBulk(this.myItem)\r\n\t\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t\t.subscribe((obj) => {\r\n\t\t\t\t\tthis.closePopUp(obj);\r\n\t\t\t\t},\r\n\t\t\t\t\t(error: any) => {\r\n\t\t\t\t\t\tthis.showValidationErrors(error, form);\r\n\t\t\t\t\t});\r\n\t\t}\r\n\t}\r\n}\r\n","import { takeUntil } from 'rxjs';\r\nimport { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { debounceTime, distinctUntilChanged, map, Subject } from 'rxjs';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { TypeCountryService } from '../../Services/Custom/ServiceTypeCountry';\r\n\r\n\r\n@Component({\r\n\tselector: 'AddressEdit',\r\n\ttemplateUrl: 'AddressEdit.html',\r\n\t\r\n})\r\nexport class AddressEditComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n\tprotected obsToCloseSubject = new Subject();\r\n\tngOnDestroy(){\r\n\t\tthis.obsToCloseSubject.next(null);\r\n\t\tthis.obsToCloseSubject.complete();\r\n\t}\r\n\tngOnInit(): void {\r\n\t\tthis.myTypeCountryService.loadAll(true)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe(data => {\r\n\t\t\t\tthis.countries = data;\r\n\t\t\t\tthis.changeCountry(this.myItem.Country, false);\r\n\t\t\t});\r\n\t\t\r\n\t}\r\n\tconstructor(public configData: ConfigService,\r\n\t\tprivate myTypeCountryService: TypeCountryService,\r\n\t) {\r\n\t}\r\n\r\n\t@Output() zipChange = new EventEmitter();\r\n\r\n\t@Input()\r\n\thtmlprefix: string = '';\r\n\r\n\t@Input()\r\n\tAddressEditForm: NgForm;\r\n\r\n\t@Input()\r\n\tshowSuggestions = false;\r\n\r\n\tplaceSuggestions: any[] = [];\r\n\r\n\taddressChanged() {\r\n\t\tthis.zipChange.emit({});\r\n\t}\r\n\r\n\tfillAddress(obj: any) {\r\n\t\tvar thisHolder = this;\r\n\t\tif (obj) {\r\n\t\t\tthisHolder.placeSuggestions = [];\r\n\t\t\tvar service = new google.maps.Geocoder();\r\n\t\t\tservice.geocode({\r\n\t\t\t\tplaceId: obj.place_id\r\n\t\t\t}, function (results: any, status: any) {\r\n\t\t\t\tif (status != \"OK\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!thisHolder.myItem) {\r\n\t\t\t\t\tthisHolder.myItem= {} as TooBig4Car.Logic.Address;\r\n\t\t\t\t}\r\n\t\t\t\tif (results && results.length) {\r\n\t\t\t\t\tvar postalCodes = results[0].address_components.filter((a: any) => a.types.indexOf('postal_code') >= 0);\r\n\t\t\t\t\tif (postalCodes.length) {\r\n\t\t\t\t\t\tthisHolder.myItem.ZipCode = postalCodes[0].long_name;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar cities = results[0].address_components.filter((a: any) => a.types.indexOf('locality') >= 0);\r\n\t\t\t\t\tif (cities.length) {\r\n\t\t\t\t\t\tthisHolder.myItem.City = cities[0].long_name;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar states = results[0].address_components.filter((a: any) => a.types.indexOf('administrative_area_level_1') >= 0);\r\n\t\t\t\t\tif (states.length) {\r\n\t\t\t\t\t\tthisHolder.myItem.State = states[0].short_name;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar nums = results[0].address_components.filter((a: any) => a.types.indexOf('street_number') >= 0);\r\n\t\t\t\t\tvar routes = results[0].address_components.filter((a: any) => a.types.indexOf('route') >= 0);\r\n\t\t\t\t\tif (nums.length && routes.length) {\r\n\t\t\t\t\t\tthisHolder.myItem.Address1 = nums[0].long_name + ' ' + routes[0].long_name;\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tthisHolder.myItem.Latitude = results[0].geometry.location.lat();\r\n\t\t\t\t\t\t\tthisHolder.myItem.Longitude = results[0].geometry.location.lng();\r\n\t\t\t\t\t\t} catch { }\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthisHolder.addressChanged();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tformatAddress(address: TooBig4Car.Logic.Address): string {\r\n\t\tif (!address) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tlet addressString = `${address.Address1 || ''} ${address.Address2 || ''} ${address.City || ''} ${address.State || ''} ${address.ZipCode || ''}`\r\n\t\taddressString = addressString.replace(/[,.;!:'\"{}|`@#$%^&*()+=_?]+/g, \"\").trim();\r\n\t\treturn addressString;\r\n\t}\r\n\r\n\taddressKeyUp = new Subject();\r\n\r\n\tngAfterViewInit() {\r\n\t\tconst keyUpSub = this.addressKeyUp.pipe(\r\n\t\t\tmap(evnt => {\r\n\t\t\t\tvar addr: TooBig4Car.Logic.Address = this.configData.deepClone( this.myItem);\r\n\t\t\t\taddr.AddressID = this.configData.DefaultEmptyGuid;\r\n\t\t\t\treturn addr;\r\n\t\t\t}),\r\n\t\t\tdebounceTime(500),\r\n\t\t\tdistinctUntilChanged((c: TooBig4Car.Logic.Address, p: TooBig4Car.Logic.Address) => {\r\n\t\t\t\treturn this.formatAddress(c) === this.formatAddress(p)\r\n\t\t\t}),\r\n\t\t)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe(addr => {\r\n\t\t\taddr.Latitude = addr.Longitude = null;\r\n\t\t\tthis.addressChanged();\r\n\t\t\tif (addr.Address1) {\r\n\t\t\t\tthis.addressLookup(this.formatAddress(addr));\r\n\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\r\n\taddressLookup(myAddress: string) {\r\n\t\tif (this.showSuggestions) {\r\n\t\t\tvar displaySuggestions = (predictions: any, status: any) => {\r\n\t\t\t\tthis.placeSuggestions = [];\r\n\t\t\t\tif (status != google.maps.places.PlacesServiceStatus.OK) {\r\n\t\t\t\t\t//alert(status);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tconsole.log('Search Returned ' + predictions.length + ' results');\r\n\t\t\t\tpredictions.forEach((prediction: any) => {\r\n\t\t\t\t\tthis.placeSuggestions.push({\r\n\t\t\t\t\t\tobj: prediction,\r\n\t\t\t\t\t\tdesc: (prediction.description || '').replace(', USA', '')\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t};\r\n\r\n\t\t\tvar service = new google.maps.places.AutocompleteService();\r\n\t\t\tservice.getPlacePredictions({\r\n\t\t\t\tinput: myAddress,\r\n\t\t\t\tcomponentRestrictions: { country: 'us' },\r\n\t\t\t\ttypes: ['address']\r\n\t\t\t}, displaySuggestions);\r\n\t\t}\r\n\t}\r\n\tchangeCountry(countryName: string, trigger: boolean) {\r\n\t\tthis.states = [];\r\n\t\tif (countryName) {\r\n\t\t\tvar countries = this.countries.filter(a => a.TypeName == countryName);\r\n\t\t\tif (countries && countries.length) {\r\n\t\t\t\tthis.states = countries[0].TypeStateCol;\r\n\t\t\t}\r\n\t\t\tif (trigger) {\r\n\t\t\t\tthis.addressChanged();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tstates: TooBig4Car.Logic.TypeState[] = [];\r\n\tcountries: TooBig4Car.Logic.TypeCountry[] = [];\r\n\r\n\r\n\t@Input()\r\n\tset address(val: TooBig4Car.Logic.Address) {\r\n\t\tthis.myItem = val;\r\n\t\tthis.changeCountry(this.myItem.Country, false);\r\n\t}\r\n\tget address(): TooBig4Car.Logic.Address {\r\n\t\treturn this.myItem;\r\n\t}\r\n\tmyItem = {\r\n\t\tCountry: 'USA'\r\n\t} as TooBig4Car.Logic.Address;\r\n\r\n} \r\n","import { takeUntil } from 'rxjs';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { NgForm } from '@angular/forms';\r\nimport { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateTime } from 'luxon';\r\nimport { BaseEditPopUpComponent } from '../../Services/BaseEditPopUpComponent';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { CustomerInvoiceItemService } from '../../Services/Custom/ServiceCustomerInvoiceItem';\r\n\r\n@Component({\r\n\tselector: 'CustomerInvoiceArbitraryItem-edit',\r\n\ttemplateUrl: 'CustomerInvoiceArbitraryItemEdit.html',\r\n\t\r\n})\r\nexport class CustomerInvoiceArbitraryItemEditComponent extends BaseEditPopUpComponent implements OnInit {\r\n\tngOnInit(): void {\r\n\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate myCustomerInvoiceItemService: CustomerInvoiceItemService,\r\n\t\tprivate aModal: NgbActiveModal\r\n\t) {\r\n\t\tsuper();\r\n\t\tthis.activeModal = aModal;\r\n\t}\r\n\r\n\tmyItem: TooBig4Car.Logic.CustomerInvoiceArbitraryItem = {} as TooBig4Car.Logic.CustomerInvoiceArbitraryItem;\r\n\r\n\tloadItem(id: System.Guid, invoiceID: System.Guid, customerID: System.Guid) {\r\n\t\tthis.myCustomerInvoiceItemService.getArbitraryEdit(id)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe((obj: TooBig4Car.Logic.CustomerInvoiceArbitraryItem) => {\r\n\t\t\t\tthis.myItem = obj;\r\n\t\t\t\tif (this.configData.IsEmptyGuid(obj.CustomerInvoiceArbitraryItemID)) {\r\n\t\t\t\t\tthis.myItem.CustomerInvoiceID = invoiceID;\r\n\t\t\t\t\tthis.myItem.CustomerAccountID = customerID;\r\n\t\t\t\t\tthis.myItem.DateApplies = DateTime.local().startOf('day').toJSDate();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\t(error: any) => {\r\n\t\t\t\t\tthis.closePopUp(null); \r\n\t\t\t\t}\r\n\t\t\t);\r\n\t}\r\n\r\n\tsaveItem(form: NgForm) {\r\n\t\tthis.myCustomerInvoiceItemService.saveArbitrary(this.myItem)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe(obj => {\r\n\t\t\t\tthis.closePopUp(obj);\r\n\t\t\t},\r\n\t\t\t\t(error: any) => {\r\n\t\t\t\t\tthis.showValidationErrors(error, form);\r\n\t\t\t\t});\r\n\t}\r\n}\r\n\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport * as dropin from 'braintree-web-drop-in';\r\nimport { Observable, Subject, takeUntil } from 'rxjs';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { PaymentService } from '../../Services/Custom/ServicePayment';\r\n\r\n\r\n@Component({\r\n\tselector: 'MakePaymentPartial',\r\n\ttemplateUrl: 'MakePayment.html',\r\n\r\n})\r\nexport class MakePaymentPartialComponent implements OnInit, OnDestroy {\r\n\r\n\tprotected obsToCloseSubject = new Subject();\r\n\tngOnDestroy() {\r\n\t\tthis.obsToCloseSubject.next(null);\r\n\t\tthis.obsToCloseSubject.complete();\r\n\t}\r\n\r\n\tdisabled: boolean = false;\r\n\tbtInstance: any = null;\r\n\tngOnInit(): void {\r\n\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate myPaymentService: PaymentService,\r\n\t) {\r\n\t}\r\n\r\n\t@Input()\r\n\tset payInfo(val: TooBig4Car.Logic.PublicPaymentInfoVM) {\r\n\t\tthis.myItem = val;\r\n\t\tif (!this.configData.IsEmptyGuid(this.myItem.PickupDeliveryID)) {\r\n\t\t\tthis.loadItem();\r\n\t\t}\r\n\t}\r\n\tmyItem = {} as TooBig4Car.Logic.PublicPaymentInfoVM;\r\n\r\n\t@Input()\r\n\tcustomerID: System.Guid = '';\r\n\r\n\r\n\t@Output()\r\n\tsuccess = new EventEmitter();\r\n\r\n\t@Output()\r\n\terror = new EventEmitter();\r\n\r\n\t@Output()\r\n\tprogress = new EventEmitter();\r\n\r\n\tloadItem() {\r\n\t\tif (!this.btInstance) {\r\n\r\n\t\t\tvar thisholder = this;\r\n\t\t\tvar obs: Observable;\r\n\t\t\tif (this.configData.IsEmptyGuid(this.customerID)) {\r\n\r\n\t\t\t\tobs = this.myPaymentService.getAnonToken();\r\n\t\t\t} else {\r\n\t\t\t\tobs = this.myPaymentService.getCustomerToken(this.customerID);\r\n\r\n\t\t\t}\r\n\t\t\tobs.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t\t.subscribe(token => {\r\n\t\t\t\t\tdropin.create({\r\n\t\t\t\t\t\tauthorization: token,\r\n\t\t\t\t\t\tcontainer: '#dropin-container',\r\n\t\t\t\t\t}, function (createErr: any, dropinInstance: any) {\r\n\t\t\t\t\t\tif (createErr) {\r\n\t\t\t\t\t\t\tvar errStr = 'Failed: ' + createErr.message + '. Please try again.';\r\n\t\t\t\t\t\t\tthisholder.error.emit(errStr);\r\n\t\t\t\t\t\t} else if (dropinInstance) {\r\n\t\t\t\t\t\t\tthisholder.btInstance = dropinInstance;\r\n\r\n\t\t\t\t\t\t\tif (dropinInstance.isPaymentMethodRequestable()) {\r\n\t\t\t\t\t\t\t\t// This will be true if you generated the client token\r\n\t\t\t\t\t\t\t\t// with a customer ID and there is a saved payment method\r\n\t\t\t\t\t\t\t\t// available to tokenize with that customer.\r\n\t\t\t\t\t\t\t\tthisholder.disabled = false;\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tdropinInstance.on('paymentMethodRequestable', function (event: any) {\r\n\t\t\t\t\t\t\t\tconsole.log(event.type); // The type of Payment Method, e.g 'CreditCard', 'PayPalAccount'.\r\n\t\t\t\t\t\t\t\tconsole.log(event.paymentMethodIsSelected); // True if a customer has selected a payment method when paymentMethodRequestable fires.\r\n\t\t\t\t\t\t\t\tif (event.paymentMethodIsSelected) {\r\n\t\t\t\t\t\t\t\t\tthisholder.disabled = false;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t\tdropinInstance.on('noPaymentMethodRequestable', function () {\r\n\t\t\t\t\t\t\t\tthisholder.disabled = true;\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\trunPayment() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (!this.disabled) {\r\n\t\t\tif (this.btInstance) {\r\n\t\t\t\tthis.btInstance.requestPaymentMethod(function (err: any, payload: any) {\r\n\t\t\t\t\tif (payload.nonce) {\r\n\t\t\t\t\t\tthisHolder.progress.emit(true);\r\n\t\t\t\t\t\tthisHolder.myPaymentService.runPublicPayment(payload.nonce, thisHolder.myItem)\r\n\r\n\t\t\t\t\t\t\t.subscribe(pmt => {\r\n\t\t\t\t\t\t\t\tthisHolder.progress.emit(false);\r\n\t\t\t\t\t\t\t\tthisHolder.myItem.PaymentAmount = 0;\r\n\t\t\t\t\t\t\t\tthisHolder.myItem.TipAmount = 0;\r\n\t\t\t\t\t\t\t\tthisHolder.success.emit(thisHolder.myItem);\r\n\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t(error: any) => {\r\n\t\t\t\t\t\t\t\t\tthisHolder.error.emit(error);\r\n\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","\r\nimport { takeUntil } from 'rxjs';\r\nimport { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { debounceTime } from 'rxjs';\r\nimport { PropertyFilter } from '../../Models/OtherClasses';\r\nimport { BaseBusyableComponent } from '../../Services/BaseBusyableComponent';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PropertyItemMoveBulkComponent } from '../PropertyItem/PropertyItemMoveBulkComponent';\r\nimport { CustomerPropertyItemEditComponent } from '../CustomerAccount/PropertyItemComponentEdit';\r\n\r\n@Component({\r\n\tselector: 'PropertyItemGrid',\r\n\ttemplateUrl: 'PropertyItemGrid.html',\r\n})\r\nexport class PropertyItemGridComponent extends BaseBusyableComponent {\r\n\r\n\tfilterObj = new PropertyFilter();\r\n\r\n\t@Output() itemsFiltered = new EventEmitter();\r\n\r\n\t@Output() newClicked = new EventEmitter();\r\n\r\n\tnewBtnClicked() {\r\n\t\tthis.newClicked.emit({});\r\n\t}\r\n\r\n\tbulkMove() {\r\n\t\tif (this.allowBulkMove()) {\r\n\t\t\tvar thisHolder = this;\r\n\t\t\tvar moveObjs = this.filteredItems.filter(a => a.IsSelected && a.APICanIMoveThis);\r\n\t\t\tvar idsToMove = moveObjs.map(a => a.PropertyItemID);\r\n\r\n\t\t\tvar modal = thisHolder.mymodalService.open(PropertyItemMoveBulkComponent);\r\n\t\t\tmodal.componentInstance.myItem = {\r\n\t\t\t\tPropertyItemIDs: idsToMove\r\n\t\t\t} as TooBig4Car.Logic.PropertyItemMoveBulkVM\r\n\t\t\tmodal.result.then(refresh => {\r\n\t\t\t\tif (refresh) {\r\n\t\t\t\t\tthisHolder.refreshData.emit();\r\n\t\t\t\t}\r\n\t\t\t}, (reason) => {\r\n\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tallowBulkMove() :boolean {\r\n\t\tif (this.allowMove) {\r\n\t\t\treturn this.filteredItems.filter(a => a.IsSelected).length > 0;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\t@Input() showDeliveryColumn = false;\r\n\r\n\t@Input() showInspectionTargetDateSeparately = false;\r\n\r\n\t@Input() showDestinationRoom = false;\r\n\t@Input() showShipment = false;\r\n\r\n\t@Input() showLocation = false;\r\n\r\n\t@Input() showDate = false;\r\n\r\n\t@Input() allowMove = false;\r\n\r\n\t@Input() showSearch: boolean = true;\r\n\r\n\t@Input() showSpecifics: boolean = true;\r\n\r\n\t@Input() showCustomer: boolean = true;\r\n\r\n\t@Input() showNewBtn: boolean = false;\r\n\r\n\t@Output() refreshData = new EventEmitter();\r\n\r\n\t@Output() inspectClicked = new EventEmitter();\r\n\r\n\tinspectBtnClicked(item: TooBig4Car.Logic.PropertyItem) {\r\n\t\tthis.inspectClicked.emit(item);\r\n\t}\r\n\r\n\t@Input() showInspectBtn: boolean = false;\r\n\r\n\t@Output() moveClicked = new EventEmitter();\r\n\r\n\tmoveBtnClicked(item: TooBig4Car.Logic.PropertyItem) {\r\n\t\tthis.moveClicked.emit(item);\r\n\t}\r\n\r\n\t@Input() showMoveBtn: boolean = false;\r\n\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate mymodalService: NgbModal\t) {\r\n\t\tsuper();\r\n\t\t\r\n\t\tthis.sortCriteria = { sortColumn: 'TypeName, Description', sortDirection: 'asc' };\r\n\t\tthis.employee = this.configData.isEmployee();\r\n\r\n\t\tthis.filterEmitter.asObservable()\r\n\t\t\t.pipe(\r\n\t\t\t\tdebounceTime(300)\r\n\t\t\t)\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe(fobj => {\r\n\t\t\t\tthis.innerFilterItems(fobj);\r\n\t\t\t});\r\n\t}\r\n\r\n\temployee: boolean = false;\r\n\r\n\t_items: TooBig4Car.Logic.PropertyItem[] = [];\r\n\t@Input()\r\n\tset items(val: TooBig4Car.Logic.PropertyItem[]) {\r\n\t\tthis._items = val;\r\n\t\tthis.innerFilterItems(this.filterObj);\r\n\t}\r\n\r\n\tget items(): TooBig4Car.Logic.PropertyItem[] {\r\n\t\treturn this._items;\r\n\t}\r\n\r\n\tfilteredItems: TooBig4Car.Logic.PropertyItem[] = [];\r\n\r\n\tonSort(newCriteria: TooBig4Car.Logic.SortCriteria) {\r\n\t\tsuper.onSort(newCriteria);\r\n\t\tthis.filteredItems = this.configData.SortArray(this.filteredItems, this.sortCriteria);\r\n\t}\r\n\r\n\tfilterEmitter: EventEmitter = new EventEmitter();\r\n\r\n\tpreventClick(evt: any) {\r\n\t\tevt.preventDefault();\r\n\t\tevt.stopPropagation();\r\n\t}\r\n\tfilterItems(evt: any) {\r\n\r\n\t\tthis.filterEmitter.next(this.filterObj);\r\n\t}\r\n\tinnerFilterItems(fobj: PropertyFilter) {\r\n\t\tvar col: TooBig4Car.Logic.PropertyItem[] = [];\r\n\t\tif (fobj) {\r\n\t\t\tcol = fobj.filterItems(this._items);\r\n\t\t} else {\r\n\t\t\tcol = this._items;\r\n\t\t}\r\n\t\tthis.filteredItems = this.configData.SortArray(col, this.sortCriteria);\r\n\t\tthis.itemsFiltered.next(this.filteredItems);\r\n\t}\r\n\r\n\r\n\tpopUpEdit(item: TooBig4Car.Logic.PropertyItem) {\r\n\t\tvar thisHolder = this;\r\n\t\tvar modal = thisHolder.mymodalService.open(CustomerPropertyItemEditComponent);\r\n\t\tmodal.componentInstance.loadItem(this.configData.deepClone( item));\r\n\t\tmodal.result.then((result: TooBig4Car.Logic.PropertyItem) => {\r\n\t\t\tif (result) {\r\n\t\t\t\tthis._items.splice(this._items.indexOf(item), 1);\r\n\t\t\t\tthis._items.push(result);\r\n\t\t\t\tthis.filterItems(null);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { ViewChild, Component, EventEmitter, ElementRef, AfterViewInit, Input, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { NgbModal, NgbPopover } from '@ng-bootstrap/ng-bootstrap';\r\nimport saveAs from 'file-saver';\r\nimport { takeUntil } from 'rxjs';\r\nimport { PropertyItemDocumentPurposeEnumHelper } from '../../Models/OtherClasses';\r\nimport { BaseBusyableComponent } from '../../Services/BaseBusyableComponent';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { PropertyItemDocumentService } from '../../Services/Custom/ServicePropertyItemDocument';\r\nimport { ImagePopUpComponent } from '../PopUps/ImagePopUpComponent';\r\nimport { Router } from '@angular/router';\r\nimport { DateTime } from 'luxon';\r\nimport { PropertyItemDocumentPurposeEnum } from '../../Models/Interfaces/PropertyItemDocumentPurposeEnum';\r\n\r\n\r\n@Component({\r\n\tselector: 'PropertyItemImage',\r\n\ttemplateUrl: 'PropertyItemImage.html',\r\n\r\n})\r\nexport class PropertyItemImageComponent extends BaseBusyableComponent implements OnInit, AfterViewInit, OnDestroy {\r\n\r\n\tngAfterViewInit(): void {\r\n\t\tif (this.myImgObj) {\r\n\t\t\tthis.myImgObj.nativeElement.style.maxHeight = this._maxHeight;\r\n\t\t}\r\n\t}\r\n\r\n\tngOnDestroy(): boolean {\r\n\t\treturn super.ngOnDestroy();\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\r\n\t}\r\n\tconstructor(public configData: ConfigService,\r\n\t\tprivate mymodalService: NgbModal,\r\n\t\tprivate myRouter: Router,\r\n\t\tprivate myPropertyItemDocumentService: PropertyItemDocumentService,\r\n\t) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\t@ViewChild('mainImage') myImgObj: ElementRef;\r\n\r\n\t@Input() allowLabelChanges = true;\r\n\r\n\t@Output() deleted = new EventEmitter();\r\n\r\n\t@Output() rotated = new EventEmitter();\r\n\r\n\t@Output() labelChanged = new EventEmitter();\r\n\r\n\tthumbBase64 = '';\r\n\r\n\tmakePhotoHolder() {\r\n\t\tif (this.myDoc) {\r\n\t\t\tthis.myDoc.photoHolder = {};\r\n\t\t\tif (this.configData.IsEmptyGuid(this.myDoc.PickupDeliveryID)) {\r\n\t\t\t\tthis.myDoc.photoHolder.vals = PropertyItemDocumentPurposeEnumHelper.getPropertyItemImages(false);\r\n\t\t\t} else {\r\n\t\t\t\tthis.myDoc.photoHolder.vals = PropertyItemDocumentPurposeEnumHelper.getPickupDeliveryImages();\r\n\t\t\t}\r\n\r\n\t\t\tthis.myDoc.photoHolder.vals.forEach((pEnum: any) => {\r\n\t\t\t\tpEnum.IsSelected = this.hasEnum(pEnum.Value);\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n\r\n\toverlayText = '';\r\n\tloadOverlay() {\r\n\t\tthis.overlayText = '';\r\n\t\tif (this.myDoc && !this.isPickupDeliveryItem) {\r\n\t\t\tthis.overlayText = this.myDoc.OverlayText;\r\n\t\t}\r\n\t}\r\n\r\n\tget needsRedBorder(): boolean {\r\n\t\treturn this.hasEnum(PropertyItemDocumentPurposeEnum.DamageImage);\r\n\t}\r\n\r\n\thasEnum(pEnum: number): boolean {\r\n\t\tif (this.myDoc) {\r\n\t\t\treturn (this.myDoc.ImagePurpose & pEnum) != 0;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tget isPickupDeliveryItem() {\r\n\t\treturn !this.configData.IsEmptyGuid(this.myDoc.PickupDeliveryItemID);\r\n\t}\r\n\tloadPopUp(popControl: NgbPopover) {\r\n\t\tif (this.canUpload) {\r\n\t\t\tif (!this.isPickupDeliveryItem) {\r\n\t\t\t\tthis.makePhotoHolder();\r\n\t\t\t\tpopControl.open();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t\tthis.downloadDoc(popControl);\r\n\t}\r\n\r\n\trotateAllowed() {\r\n\t\treturn this.myDoc?.APICanIEditThis && this.myDoc?.IsImage;\r\n\t}\r\n\tdeleteAllowed() {\r\n\t\treturn this.myDoc?.APICanIDeleteThis;\r\n\t}\r\n\trotateDoc() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (thisHolder.rotateAllowed()) {\r\n\t\t\tthisHolder.dialogService.confirm('Are you sure?')\r\n\t\t\t\t.then(result => {\r\n\t\t\t\t\tthisHolder.myPropertyItemDocumentService.rotate(thisHolder.myDoc.PropertyItemDocumentID)\r\n\t\t\t\t\t\t.subscribe(val => {\r\n\t\t\t\t\t\t\tthisHolder.rotated.next(thisHolder.myDoc);\r\n\t\t\t\t\t\t\tthisHolder.thumbBase64 = '';\r\n\t\t\t\t\t\t\tthisHolder.myDoc.base64Content = '';\r\n\t\t\t\t\t\t\tthisHolder.loadImageStuff(DateTime.now().second.toString());\r\n\t\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\tdeleteDoc() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (thisHolder.deleteAllowed()) {\r\n\t\t\tthisHolder.dialogService.confirm('Are you sure?')\r\n\t\t\t\t.then(result => {\r\n\t\t\t\t\tthisHolder.myPropertyItemDocumentService.deleteItem(thisHolder.myDoc.PropertyItemDocumentID)\r\n\t\t\t\t\t\t.subscribe(val => {\r\n\t\t\t\t\t\t\tthisHolder.deleted.next(thisHolder.myDoc);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\ttogglePurpose(popControl: NgbPopover) {\r\n\r\n\t\tif (this.myDoc.IsImage && this.myDoc.photoHolder?.vals && this.allowLabelChanges) {\r\n\t\t\tvar col: any[] = this.myDoc.photoHolder.vals;\r\n\t\t\tvar enums = col.filter(a => a.IsSelected).map(a => a.Value);\r\n\t\t\tthis.myPropertyItemDocumentService.togglePurpose(this.myDoc.PropertyItemDocumentID, enums)\r\n\t\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t\t.subscribe(pDoc => {\r\n\t\t\t\t\tthis.myDoc.ImagePurpose = pDoc.ImagePurpose;\r\n\t\t\t\t\tthis.myDoc.OverlayText = pDoc.OverlayText;\r\n\t\t\t\t\tthis.loadOverlay();\r\n\t\t\t\t\tthis.labelChanged.next(this.myDoc);\r\n\t\t\t\t\tif (popControl) {\r\n\t\t\t\t\t\tpopControl.close(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tdownloadDoc(popControl: NgbPopover) {\r\n\t\tif (popControl) {\r\n\t\t\tpopControl.close(true); \r\n\t\t}\r\n\t\tif (this.myDoc.IsImage) {\r\n\t\t\tvar thisHolder = this;\r\n\t\t\tthis.myPropertyItemDocumentService.downloadDoc(this.myDoc.PropertyItemDocumentID)\r\n\t\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t\t.subscribe(file => {\r\n\t\t\t\t\tvar modal = thisHolder.mymodalService.open(ImagePopUpComponent, {size: 'xl'});\r\n\t\t\t\t\tvar col = this.myPropItemCol.map(a => a.PropertyItemDocumentID);\r\n\t\t\t\t\tvar idx = col.indexOf(this.myDoc.PropertyItemDocumentID);\r\n\t\t\t\t\tmodal.componentInstance.setBlob(file, idx, this.myPropItemCol);\r\n\t\t\t\t});\r\n\t\t} else if (this.myDoc.IsPdf) {\r\n\t\t\t//https://careydevelopment.us/blog/angular-how-to-open-a-link-in-a-new-tab\r\n\t\t\tvar url = this.myRouter.serializeUrl(this.myRouter.createUrlTree(['viewer', this.myDoc.PropertyItemDocumentID]));\r\n\t\t\twindow.open(url, '_blank');\r\n\t\t} else {\r\n\t\t\tthis.isSaving = true;\r\n\t\t\tthis.myPropertyItemDocumentService.downloadDoc(this.myDoc.PropertyItemDocumentID)\r\n\t\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t\t.subscribe(file => {\r\n\t\t\t\t\tsaveAs(file.blob, file.fileName);\r\n\t\t\t\t\tthis.isSaving = false;\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tloadImageStuff(qs: string) {\r\n\t\tthis.myDoc.photoHolder = {\r\n\t\t\tvals: []\r\n\t\t};\r\n\t\tvar thisHolder = this;\r\n\t\tif (!thisHolder.thumbBase64) {\r\n\t\t\tif (thisHolder.myDoc?.IsImage && thisHolder.myDoc?.base64Content) {\r\n\t\t\t\tthisHolder.thumbBase64 = thisHolder.myDoc?.base64Content;\r\n\t\t\t}\r\n\t\t\tif (!thisHolder.thumbBase64) {\r\n\t\t\t\tif (!thisHolder.configData.IsEmptyGuid(thisHolder.myDoc.PropertyItemDocumentID)) {\r\n\t\t\t\t\tthisHolder.myPropertyItemDocumentService.downloadThumb(thisHolder.myDoc.PropertyItemDocumentID, qs)\r\n\t\t\t\t\t\t.pipe(takeUntil(thisHolder.obsToCloseSubject))\r\n\t\t\t\t\t\t.subscribe(file => {\r\n\t\t\t\t\t\t\tthisHolder.configData.blobToBase64(file.blob)\r\n\t\t\t\t\t\t\t\t.then(dataStr => {\r\n\t\t\t\t\t\t\t\t\tthisHolder.thumbBase64 = dataStr;\r\n\t\t\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t@Input()\r\n\tset doc(val: TooBig4Car.Logic.PropertyItemDocument) {\r\n\t\tif (val) {\r\n\t\t\tif (val.PropertyItemDocumentID != this.myDoc.PropertyItemDocumentID) {\r\n\t\t\t\tthis.myDoc = val;\r\n\t\t\t\tthis.loadImageStuff('');\r\n\t\t\t\tthis.loadOverlay();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tget doc(): TooBig4Car.Logic.PropertyItemDocument {\r\n\t\treturn this.myDoc;\r\n\t}\r\n\tmyDoc = {\r\n\t\tphotoHolder: {\r\n\t\t\tvals: []\r\n\t\t}\r\n\t} as TooBig4Car.Logic.PropertyItemDocument;\r\n\r\n\t_maxHeight = '';\r\n\t@Input()\r\n\tset maxHeight(val: string) {\r\n\t\tthis._maxHeight = val;\r\n\t\t\r\n\t}\r\n\r\n\t@Input()\r\n\tset propItemCol(val: TooBig4Car.Logic.PropertyItemDocument[]) {\r\n\t\tif (val) {\r\n\t\t\tthis.myPropItemCol = val.filter(a => a.IsImage);\r\n\t\t} else {\r\n\t\t\tthis.myPropItemCol = [];\r\n\t\t}\r\n\t}\r\n\tget propItemCol(): TooBig4Car.Logic.PropertyItemDocument[] {\r\n\t\treturn this.myPropItemCol;\r\n\t}\r\n\tmyPropItemCol: TooBig4Car.Logic.PropertyItemDocument[] = [];\r\n\r\n\t@Input()\r\n\tset canUpload(val: boolean) {\r\n\t\tthis._canUpload = val;\r\n\t}\r\n\tget canUpload(): boolean {\r\n\t\treturn this._canUpload;\r\n\t}\r\n\t_canUpload = false;\r\n\r\n} \r\n","import { Component, EventEmitter, HostListener, Input, OnInit, Output } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { BaseBusyableComponent } from '../../Services/BaseBusyableComponent';\r\nimport { ConfigService } from \"../../Services/ConfigService\";\r\nimport { ScheduleItemService } from '../../Services/Custom/ServiceScheduleItem';\r\nimport { Guid } from 'guid-typescript';\r\n\r\n@Component({\r\n\tselector: 'ScheduleEdit',\r\n\ttemplateUrl: 'ScheduleEdit.html',\r\n \r\n})\r\nexport class ScheduleEditComponent extends BaseBusyableComponent implements OnInit {\r\n\r\n\tngOnInit() {\r\n\t\tthis.isSmallScreen = window.innerWidth <= 992;\r\n\t\tthis.sizeEmitter.subscribe(width => {\r\n\t\t\tthis.isSmallScreen = width <= 992;\r\n\t\t})\r\n\t}\r\n\tsizeEmitter = new EventEmitter();\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize(event: any) {\r\n\t\tthis.sizeEmitter.next(window.innerWidth);\r\n\t}\r\n\r\n\r\n\tisSmallScreen = false;\r\n\r\n\t@Output() newClicked = new EventEmitter();\r\n\r\n\tnewBtnClicked() {\r\n\t\tthis.newClicked.emit({});\r\n\t}\r\n\r\n\t@Input() Title = 'Schedule';\r\n\t@Input() showTime = true;\r\n\r\n\t@Input() showNewBtn: boolean = false;\r\n\taddSchedule() {\r\n\t\tthis.myService.getNewSchedule()\r\n\t\t\t.subscribe(newSched => {\r\n\t\t\t\tif (this.showTime) {\r\n\t\t\t\t\tnewSched.TimeStart = DateTime.fromObject({ hour: 6 }).toLocaleString(DateTime.TIME_SIMPLE) as any;\r\n\t\t\t\t\tnewSched.TimeFinish = DateTime.fromObject({ hour: 18 }).toLocaleString(DateTime.TIME_SIMPLE) as any;\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewSched.TimeStart = DateTime.fromObject({ hour: 0 }).toLocaleString(DateTime.TIME_SIMPLE) as any;\r\n\t\t\t\t\tnewSched.TimeFinish = DateTime.fromObject({ hour: 0 }).toLocaleString(DateTime.TIME_SIMPLE) as any;\r\n\t\t\t\t}\r\n\t\t\t\tthis.items.push(newSched);\r\n\t\t\t});\r\n\t}\r\n\r\n\tremoveSchedule(sched: TooBig4Car.Logic.ScheduleItem) {\r\n\t\tif (sched) {\r\n\t\t\tthis.items.splice(this.items.indexOf(sched), 1);\r\n\t\t}\r\n\t}\r\n\r\n\tpreface = '';\r\n\tconstructor(\r\n\t\tprivate myService: ScheduleItemService,\r\n\t\tpublic configData: ConfigService) {\r\n\t\tsuper();\r\n\t\tthis.sortCriteria = { sortColumn: 'StartTime', sortDirection: 'asc' };\r\n\t\tthis.preface = \"sched\" + Guid.create().toString();\r\n\t}\r\n\r\n\t@Input()\r\n\titems : TooBig4Car.Logic.ScheduleItem[] = [];\r\n\r\n\trepeatTypes: any[] = [\r\n\t\t{\r\n\t\t\tText: \"Day(s)\",\r\n\t\t\tValue: 0\r\n\t\t},\r\n\t\t{\r\n\t\t\tText: \"Week(s)\",\r\n\t\t\tValue: 1\r\n\t\t},\r\n\t\t{\r\n\t\t\tText: \"Months\",\r\n\t\t\tValue: 2\r\n\t\t},\r\n\r\n\t];\r\n\r\n\tchangePeriod(item: TooBig4Car.Logic.ScheduleItem) {\r\n\t\tif (item.RepeatEveryPeriod == 2) {\r\n\t\t\tvar clearOut = false;\r\n\t\t\tif (item.RepeatOnSunday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnSunday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t\tif (item.RepeatOnMonday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnMonday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t\tif (item.RepeatOnTuesday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnTuesday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t\tif (item.RepeatOnWednesday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnWednesday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t\tif (item.RepeatOnThursday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnThursday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t\tif (item.RepeatOnFriday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnFriday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t\tif (item.RepeatOnSaturday) {\r\n\t\t\t\tif (clearOut) {\r\n\t\t\t\t\titem.RepeatOnSaturday = false;\r\n\t\t\t\t}\r\n\t\t\t\tclearOut = true;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthService } from '../../../RoutingAuth/auth.service';\r\nimport { ConfigService } from '../../../Services/ConfigService';\r\n\r\n@Component({\r\n\tselector: 'app-auth-callback',\r\n\ttemplateUrl: './auth-callback.component.html',\r\n\tstyleUrls: ['./auth-callback.component.css'],\r\n\t\r\n})\r\nexport class AuthCallbackComponent implements OnInit {\r\n\r\n\terror: boolean;\r\n\r\n\tconstructor(private authService: AuthService,\r\n\t\tprivate configData: ConfigService,\r\n\t\tprivate route: ActivatedRoute,\r\n\t\tprivate myRouter: Router) { }\r\n\r\n\tasync ngOnInit() {\r\n\r\n\t\t// check for error\r\n\t\tif ((this.route?.snapshot?.fragment || '').indexOf('error') >= 0) {\r\n\t\t\tthis.error = true;\r\n\t\t\treturn;\r\n\t\t}\r\n\t\r\n\t\tthis.authService.completeAuthentication().then(returnPath => {\r\n\r\n\t\t\tif (returnPath) {\r\n\t\t\t\t//this.myRouter.navigateByUrl(returnPath);\r\n\t\t\t\twindow.location.href = returnPath;\r\n\t\t\t} else {\r\n\t\t\t\tthis.configData.goHome();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../../../RoutingAuth/auth.service';\r\n\r\n@Component({\r\n\tselector: 'app-silent-callback',\r\n\ttemplate: '',\r\n\t\r\n})\r\nexport class SilentCallbackComponent implements OnInit {\r\n\r\n\r\n\tconstructor(private authService: AuthService) { }\r\n\r\n\tasync ngOnInit() {\r\n\t\tthis.authService.silentCallback();\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../../../RoutingAuth/auth.service';\r\n\r\n@Component({\r\n\tselector: 'app-support-callback',\r\n\ttemplate: '',\r\n\r\n})\r\nexport class SupportCallbackComponent implements OnInit {\r\n\r\n\r\n\tconstructor(private authService: AuthService) { }\r\n\r\n\tasync ngOnInit() {\r\n\t\tvar thisHolder = this;\r\n\t\tthisHolder.authService.clearUserInfo().then(() => {\r\n\t\t\tthisHolder.authService.configData.goHome();\r\n\t\t});\r\n\t}\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { AuthService } from '../../../RoutingAuth/auth.service';\r\nimport { BaseBusyableComponent } from '../../../Services/BaseBusyableComponent';\r\n\r\n@Component({\r\n selector: 'actConfirm',\r\n templateUrl: './actConfirm.html',\r\n styleUrls: [],\r\n \r\n})\r\nexport class actConfirmComponent extends BaseBusyableComponent implements OnInit { \r\n\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private route: ActivatedRoute, \r\n ) {\r\n super();\r\n } \r\n \r\n title = \"Account Confirmation\";\r\n \r\n login() { \r\n \r\n this.authService.login();\r\n } \r\n\r\n ngOnInit() {\r\n \r\n \r\n }\r\n}\r\n\r\n\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { AuthService } from '../../../RoutingAuth/auth.service';\r\nimport { BaseBusyableComponent } from '../../../Services/BaseBusyableComponent';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { catchError, finalize, takeUntil } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'email-confirm',\r\n templateUrl: './emailConfirm.html',\r\n styleUrls: [],\r\n \r\n})\r\nexport class emailConfirmComponent extends BaseBusyableComponent implements OnInit { \r\n\r\n\r\n constructor(\r\n private authService: AuthService,\r\n private route: ActivatedRoute, \r\n ) {\r\n super();\r\n } \r\n \r\n title = \"Login\";\r\n disapproved: boolean = false;\r\n approved: boolean = false;\r\n \r\n login() { \r\n \r\n this.authService.login();\r\n } \r\n\r\n ngOnInit() {\r\n \r\n\t\tthis.route.params\r\n\t\t\t.pipe(takeUntil(this.obsToCloseSubject))\r\n\t\t\t.subscribe(params => {\r\n var id = params['id'];\r\n if (id) {\r\n this.isSaving = true;\r\n //this.personService.getEmailCode(id)\r\n // .pipe(finalize(() => { this.isSaving = false }))\r\n // .subscribe(obj => {\r\n // if (obj) {\r\n // this.approved = true;\r\n // } else {\r\n // this.disapproved = false;\r\n // }\r\n // this.isSaving = false;\r\n // }, () => {\r\n // this.disapproved = true;\r\n // this.isSaving = false;\r\n // })\r\n }\r\n });\r\n }\r\n}\r\n\r\n\r\n","import { Component, EventEmitter, HostListener, OnInit } from '@angular/core';\r\nimport saveAs from 'file-saver';\r\nimport { Observable, takeUntil } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseBusyableComponent } from '../../Services/BaseBusyableComponent';\r\nimport { ConfigService } from '../../Services/ConfigService';\r\nimport { ReportsService } from '../../Services/Custom/ServiceReports';\r\n\r\n@Component({ \r\n\tselector: 'ReportsShell',\r\n\ttemplateUrl: 'ReportsShell.html',\r\n\t\r\n})\r\nexport class ReportsShellComponent extends BaseBusyableComponent implements OnInit {\r\n\tconstructor(\r\n\t\tprivate configData: ConfigService,\r\n\t\tprivate myReportsService: ReportsService,\r\n\t) {\r\n\t\tsuper();\r\n\t}\r\n\r\n\tsizeEmitter = new EventEmitter();\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize(event: any) {\r\n\t\tthis.sizeEmitter.next(window.innerWidth);\r\n\t}\r\n\ttoggleShow() {\r\n\t\tthis.showMenu = !this.showMenu;\r\n\t\tthis.configData.setSavedSetting('showmenu', 'settingsshell', this.showMenu);\r\n\t}\r\n\tshowMenu = true;\r\n\r\n\tngOnInit() {\r\n\t\tthis.showMenu = window.innerWidth > 992 || this.configData.getSavedSetting('showmenu', 'settingsshell');\r\n\t\tthis.sizeEmitter.subscribe(width => {\r\n\t\t\tthis.showMenu = width > 992 || this.showMenu;\r\n\t\t})\r\n\t}\r\n\r\n\t\r\n\r\n}\r\n","import { Component, EventEmitter, HostListener, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { PersonRoleEnum } from '../../Models/OtherClasses';\r\nimport { ConfigService } from '../../Services/ConfigService';\r\nimport { AuthService } from '../../RoutingAuth/auth.service';\r\nimport { Subscription } from 'rxjs';\r\n\r\n\r\n@Component({ \r\n\tselector: 'SettingsShell',\r\n\ttemplateUrl: 'SettingsShell.html',\r\n\t\r\n})\r\nexport class SettingsShellComponent implements OnInit, OnDestroy {\r\n\r\n\t\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tpublic configData: ConfigService,\r\n\t\tprivate myRouter: Router\r\n\t) {\r\n\r\n\t}\r\n\r\n\tsubscription: Subscription;\r\n\r\n\tsizeEmitter = new EventEmitter();\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize(event: any) {\r\n\t\tthis.sizeEmitter.next(window.innerWidth);\r\n\t}\r\n\ttoggleShow() {\r\n\t\tthis.showMenu = !this.showMenu;\r\n\t\tthis.configData.setSavedSetting('showmenu', 'settingsshell', this.showMenu);\r\n\t}\r\n\tshowMenu = true;\r\n\tisAdmin = false;\r\n\tisSuperAdmin = false;\r\n\tngOnInit() {\r\n\t\tthis.subscription = this.authService.authNavStatus$.subscribe((status: boolean) => {\r\n\t\t\tthis.loadData();\r\n\t\t});\r\n\t\tthis.loadData();\r\n\t\t\r\n\t\tthis.showMenu = window.innerWidth > 992 || this.configData.getSavedSetting('showmenu', 'settingsshell');\r\n\t\tthis.sizeEmitter.subscribe(width => {\r\n\t\t\tthis.showMenu = width > 992 || this.showMenu;\r\n\t\t})\r\n\t}\r\n\tloadData() {\r\n\t\tthis.isAdmin = this.configData.IsUserInRole(PersonRoleEnum.ADMIN);\r\n\t\tthis.isSuperAdmin = this.configData.IsUserInRole(PersonRoleEnum.SUPERADMIN);\r\n\t\tif (!this.isAdmin) {\r\n\t\t\tthis.myRouter.navigate(['ang', 'Settings', 'Company', this.configData.companyID]);\r\n\t\t}\r\n\t}\r\n\tngOnDestroy() {\r\n\t\t// prevent memory leak when component is destroyed\r\n\t\tif (this.subscription) {\r\n\t\t\tthis.subscription.unsubscribe();\r\n\t\t}\r\n\r\n\t}\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit, Renderer2 } from '@angular/core';\r\nimport { Observable, Subscription, debounceTime, distinctUntilChanged, fromEvent } from \"rxjs\";\r\nimport { PersonRoleEnum } from '../../Models/OtherClasses';\r\nimport { AuthService } from '../../RoutingAuth/auth.service';\r\n\r\n@Component({\r\n\tselector: 'SideMenu',\r\n\ttemplateUrl: 'SideMenu.html',\r\n\r\n})\r\nexport class SideMenuComponent implements OnInit, OnDestroy {\r\n\r\n\r\n\r\n\tconstructor(\r\n\t\tprivate renderer: Renderer2,\r\n\t\tprivate authService: AuthService,\r\n\t) {\r\n\t}\r\n\r\n\t//Resize stuff borrowed from here: https://stackoverflow.com/questions/35527456/angular-window-resize-event\r\n\tresizeObservable$: Observable\r\n\tresizeSubscription$: Subscription\r\n\tmanualResizeSubscription$: Subscription\r\n\tauthSubscription: Subscription;\r\n\r\n\tisManuallyClosed: boolean = false;\r\n\r\n\tcustomerID: System.Guid = '';\r\n\tisCustomer: boolean = false;\r\n\tisMasterCustomer = false;\r\n\tisWarehouseCustomer: boolean = false;\r\n\r\n\tisDispatch: boolean = false;\r\n\tisDriver: boolean = false;\r\n\tisWarehouse: boolean = false;\r\n\tisAdmin: boolean = false;\r\n\tisEmployee: boolean = false;\r\n\tisSuperAdmin: boolean = false;\r\n\r\n\tget showNewOrders(): boolean {\r\n\t\tif (this.isDriver) {\r\n\t\t\tif (!this.isDispatch && !this.isAdmin) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tget showOrdersList(): boolean{\r\n\t\treturn this.showNewOrders && this.isEmployee;\r\n\t}\r\n\tngOnInit() {\r\n\r\n\t\tthis.isManuallyClosed = this.authService.configData.getSavedSetting('menuClosed', 'SideMenu');\r\n\t\tif (!this.isManuallyClosed) {\r\n\t\t\tthis.setBodyClassesBySize();\r\n\t\t} else {\r\n\t\t\tthis.toggleMenuOpenClosedState();\r\n\t\t}\r\n\t\tthis.manualResizeSubscription$ = this.authService.configData.whenmenuChangedManually().subscribe(obj => {\r\n\t\t\tthis.toggleMenuOpenClosedState();\r\n\t\t});\r\n\t\tthis.resizeObservable$ = fromEvent(window, 'resize')\r\n\t\tthis.resizeSubscription$ = this.resizeObservable$.pipe(\r\n\t\t\tdebounceTime(200),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t)\r\n\t\t\t.subscribe(evt => {\r\n\t\t\t\tif (!this.isManuallyClosed) {\r\n\t\t\t\t\tthis.setBodyClassesBySize();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\tvar thisHolder = this;\r\n\t\tthis.authSubscription = this.authService.authNavStatus$.subscribe((status: boolean) => {\r\n\t\t\tthisHolder.setPermissions();\r\n\t\t});\r\n\t}\r\n\r\n\tsetPermissions() {\r\n\r\n\t\tthis.isWarehouseCustomer = false;\r\n\t\tthis.isDispatch = false;\r\n\t\tthis.isDriver = false;\r\n\t\tthis.isWarehouse = false;\r\n\t\tthis.isAdmin = false;\r\n\r\n\t\tthis.isSuperAdmin = this.authService.configData.IsUserInRole(PersonRoleEnum.SUPERADMIN);\r\n\t\tthis.isCustomer = this.authService.configData.isCustomerUser();\r\n\t\tthis.customerID = this.authService.configData.customerID();\r\n\t\tthis.isMasterCustomer = this.authService.configData.isMasterCustomer();\r\n\t\tthis.isEmployee = this.authService.configData.isEmployee();\r\n\t\tif (this.isEmployee) {\r\n\t\t\tthis.isAdmin = this.authService.configData.IsUserInRole(PersonRoleEnum.ADMIN);\r\n\t\t\tthis.isWarehouse = this.isAdmin || this.authService.configData.IsUserInRole(PersonRoleEnum.WAREHOUSE);\r\n\t\t\tthis.isDriver = this.authService.configData.IsUserInRoleInternal(PersonRoleEnum.DRIVER, false);\r\n\t\t\tthis.isDispatch = this.isAdmin || this.authService.configData.IsUserInRole(PersonRoleEnum.DISPATCH);\r\n\t\t} else if (this.isCustomer) {\r\n\t\t\tthis.isWarehouseCustomer = this.authService.configData.isWarehouseCustomer();\r\n\t\t}\r\n\t}\r\n\r\n\ttoggleBodyClass(className: string): boolean {\r\n\t\tif (document.body.classList.contains(className)) {\r\n\t\t\tthis.renderer.removeClass(document.body, className);\r\n\t\t\treturn false;\r\n\t\t} else {\r\n\t\t\tthis.renderer.addClass(document.body, className);\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\ttoggleMenuOpenClosedState() {\r\n\t\tvar width = document.body.clientWidth;\r\n\t\tif (width < 991.98) {\r\n\t\t\tthis.toggleBodyClass('navSmall');\r\n\t\t\tvar isSmall = this.toggleBodyClass('navClosed');\r\n\t\t\tthis.authService.configData.setSavedSetting('menuClosed', 'SideMenu', isSmall);\r\n\t\t} else {\r\n\t\t\tthis.renderer.removeClass(document.body, 'navClosed'); //Just in case it's there from before\r\n\t\t\tvar isSmall = this.toggleBodyClass('navSmall');\r\n\t\t\tthis.authService.configData.setSavedSetting('menuClosed', 'SideMenu', isSmall);\r\n\t\t}\r\n\t}\r\n\tsetBodyClassesBySize() {\r\n\t\tvar width = document.body.clientWidth;\r\n\t\tif (width <= 575.98) {\r\n\t\t\tthis.renderer.removeClass(document.body, 'navSmall');\r\n\t\t\tthis.renderer.addClass(document.body, 'navClosed');\r\n\t\t} else if (width > 575.98 && width < 991.98) {\r\n\t\t\tthis.renderer.addClass(document.body, 'navSmall');\r\n\t\t\tthis.renderer.removeClass(document.body, 'navClosed');\r\n\t\t} else {\r\n\t\t\tthis.renderer.removeClass(document.body, 'navSmall');\r\n\t\t\tthis.renderer.removeClass(document.body, 'navClosed');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tngOnDestroy() {\r\n\t\tthis.resizeSubscription$.unsubscribe();\r\n\t\tthis.manualResizeSubscription$.unsubscribe();\r\n\t\tthis.authSubscription.unsubscribe();\r\n\t}\r\n\r\n}\r\n","import { Component, EventEmitter, HostListener, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ConfigService } from '../../Services/ConfigService';\r\nimport { PersonRoleEnum } from '../../Models/OtherClasses';\r\n\r\n@Component({\r\n\tselector: 'StorageShell',\r\n\ttemplateUrl: 'StorageShell.html',\r\n\r\n})\r\nexport class StorageShellComponent implements OnInit {\r\n\r\n\r\n\tconstructor(\r\n\t\tprivate configData: ConfigService,\r\n\t\tprivate myRouter: Router\r\n\t) {\r\n\t\tthis.isAdmin = configData.IsUserInRole(PersonRoleEnum.ADMIN);\r\n\t}\r\n\r\n\tsizeEmitter = new EventEmitter();\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize(event: any) {\r\n\t\tthis.sizeEmitter.next(window.innerWidth);\r\n\t}\r\n\ttoggleShow() {\r\n\t\tthis.showMenu = !this.showMenu;\r\n\t\tthis.configData.setSavedSetting('showmenu', 'settingsshell', this.showMenu);\r\n\t}\r\n\tshowMenu = true;\r\n\tisAdmin = false;\r\n\tget dividerSize(): number {\r\n\t\treturn 958;\r\n\t}\r\n\tngOnInit() {\r\n\t\tthis.showMenu = window.innerWidth > this.dividerSize || this.configData.getSavedSetting('showmenu', 'settingsshell');\r\n\t\tthis.sizeEmitter.subscribe(width => {\r\n\t\t\tthis.showMenu = width > this.dividerSize || this.showMenu;\r\n\t\t})\r\n\t}\r\n\r\n\r\n\r\n}\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as signalR from '@microsoft/signalr';\r\nimport { NgbModal, NgbTypeaheadSelectItemEvent } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DateTime } from 'luxon';\r\nimport { Observable, Subscription, debounceTime, distinctUntilChanged, map, catchError, of, switchMap, filter, tap, finalize } from 'rxjs';\r\nimport { PersonRoleEnum } from '../../../Models/OtherClasses';\r\nimport { AuthService } from '../../../RoutingAuth/auth.service';\r\nimport { ConfigService } from '../../../Services/ConfigService';\r\nimport { SearchService } from '../../../Services/Custom/ServiceSearch';\r\nimport { DialogService } from '../../../Services/DialogService';\r\nimport { ScannerPopUpComponent } from '../../PopUps/ScannerPopUpComponent';\r\nimport { PersonService } from '../../../Services/Custom/ServicePerson';\r\n\r\n@Component({\r\n\tselector: 'app-header',\r\n\ttemplateUrl: './header.component.html',\r\n\tstyleUrls: ['./header.component.css'],\r\n\t\r\n})\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\n\r\n\tname: string;\r\n\tcustomerName = '';\r\n\tuserID: System.Guid;\r\n\tbrandID: System.Guid;\r\n\tisSuperAdmin: boolean;\r\n\tisDeveloper: boolean;\r\n\tisAuthenticated: boolean;\r\n\tsubscription: Subscription;\r\n\tisAdmin: boolean = false;\r\n\tisEmployee: boolean = false;\r\n\tcacheBuster: string = '';\r\n\tdownloadtoken: string = '';\r\n\tisMenuCollapsed: boolean = true;\r\n\tisSupportMode = false;\r\n\r\n\tprivate hubConnection!: signalR.HubConnection;\r\n\tprivate stopConnection() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (this.hubConnection && signalR.HubConnectionState.Connected == this.hubConnection.state) {\r\n\t\t\tvar promises: Promise[] = [];\r\n\t\t\tpromises.push(thisHolder.hubConnection.invoke(\"LeaveGroup\", \"Person\" + this.configData.userID()));\r\n\t\t\tPromise.all(promises)\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tthisHolder.hubConnection.stop().then(() => {\r\n\t\t\t\t\t\tthisHolder.hubConnection = undefined;\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\tpublic startConnection() {\r\n\t\tvar thisHolder = this;\r\n\r\n\t\tthisHolder.hubConnection = new signalR.HubConnectionBuilder()\r\n\t\t\t.withUrl(thisHolder.configData.baseUrl + 'Hub/Person')\r\n\t\t\t.build();\r\n\r\n\t\tthisHolder.hubConnection\r\n\t\t\t.start()\r\n\t\t\t.then(() => console.log('Connection started'))\r\n\t\t\t.then(() => {\r\n\t\t\t\tthisHolder.hubConnection.invoke(\"JoinGroup\", \"Person\" + this.configData.userID());\r\n\t\t\t\tthisHolder.hubConnection.on('itemUpdate', (data) => {\r\n\t\t\t\t\tvar id = thisHolder.configData.userID();\r\n\t\t\t\t\tif (!thisHolder.configData.IsEmptyGuid(id)) {\r\n\t\t\t\t\t\tthisHolder.update();\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch(err => console.log('Error while starting connection: ' + err));\r\n\r\n\t\t\r\n\t}\r\n\r\n\tconstructor(\r\n\t\tprivate authService: AuthService,\r\n\t\tprivate configData: ConfigService,\r\n\t\tprivate dialogService: DialogService,\r\n\t\tprivate myModalService: NgbModal,\r\n\t\tprivate mySearchService: SearchService,\r\n\t\tprivate myPersonService: PersonService,\r\n\t\tprivate myRouter: Router\r\n\t) {\r\n\t}\r\n\r\n\r\n\tngOnInit() {\r\n\r\n\r\n\t\tvar thisHolder = this;\r\n\r\n\t\tthis.subscription = this.authService.authNavStatus$.subscribe((status: boolean) => {\r\n\t\t\tthisHolder.isAuthenticated = status;\r\n\t\t\tthis.loadData(status);\r\n\t\t});\r\n\r\n\t\tthis.loadData(this.configData.isLoggedIn());\r\n\r\n\t\tthis.startConnection();\r\n\t}\r\n\r\n\tloadData(isAuthed: boolean) {\r\n\t\tvar thisHolder = this;\r\n\t\tif (isAuthed) {\r\n\t\t\tthisHolder.name = thisHolder.configData.name();\r\n\t\t\tthisHolder.customerName = thisHolder.configData.customerName();\r\n\t\t\tthisHolder.userID = thisHolder.configData.userID();\r\n\t\t\tthisHolder.cacheBuster = DateTime.local().millisecond.toString();\r\n\t\t\tthisHolder.isSupportMode = this.configData.isSupportMode();\r\n\t\t\t//thisHolder.startConnection();\r\n\t\t} else {\r\n\t\t\tthisHolder.name = '';\r\n\t\t\tthisHolder.customerName = '';\r\n\t\t\tthisHolder.userID = '';\r\n\t\t\tthisHolder.isSupportMode = false;\r\n\t\t\tthis.stopConnection();\r\n\t\t}\r\n\t\tthisHolder.isEmployee = thisHolder.configData.isEmployee();\r\n\t\tthisHolder.isAdmin = thisHolder.configData.IsUserInRole(PersonRoleEnum.ADMIN);\r\n\t\tthisHolder.isSuperAdmin = thisHolder.configData.IsUserInRole(PersonRoleEnum.SUPERADMIN);\r\n\t\tthisHolder.isDeveloper = thisHolder.configData.IsUserInRole(PersonRoleEnum.DEVELOPER);\r\n\t}\r\n\r\n\tremoveSupport() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (thisHolder.isSupportMode) {\r\n\t\t\tthisHolder.myPersonService.removeSupportMode()\r\n\t\t\t\t.subscribe(val => {\r\n\t\t\t\t\tvar msg = 'Support Mode Disabled';\r\n\t\t\t\t\tif (!this.isEmployee) {\r\n\t\t\t\t\t\tmsg = 'Cancelled Account Viewing';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthisHolder.dialogService.message(msg, 'Account Viewing')\r\n\t\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\t\tthisHolder.myRouter.navigate(['support-callback']);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t}\r\n\t}\r\n\tchangeMenuWidth() {\r\n\t\tthis.configData.menuChangedManually();\r\n\t}\r\n\tisSearching = false;\r\n\tsearch = (text$: Observable) =>\r\n\t\ttext$.pipe(\r\n\t\t\tfilter(term => term.length > 2),\r\n\t\t\tdebounceTime(600),\r\n\t\t\tdistinctUntilChanged(),\r\n\t\t\ttap(a => this.isSearching = true),\r\n\t\t\tswitchMap(term => {\r\n\t\t\t\tvar searchObj: TooBig4Car.Logic.SearchVM = {\r\n\t\t\t\t\tSearchText: term\r\n\t\t\t\t};\r\n\t\t\t\treturn this.mySearchService.search(searchObj).pipe(\r\n\t\t\t\t\ttap((col) => {\r\n\t\t\t\t\t\tif (!col || !col.length) {\r\n\t\t\t\t\t\t\tcol.push({ SearchName: 'No Results'});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}),\r\n\t\t\t\t\tcatchError(() => {\r\n\t\t\t\t\t\tthis.isSearching = false;\r\n\t\t\t\t\t\treturn of([]);\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t})\r\n\t\t)\r\n\r\n\tsearchFormatter = (result: TooBig4Car.Logic.SearchResult) => {\r\n\t\tthis.isSearching = false;\r\n\t\treturn result.SearchName;\r\n\t}\r\n\r\n\tsearchText: string = '';\r\n\r\n\tselectItem(evt: NgbTypeaheadSelectItemEvent) {\r\n\t\tif (evt && evt.item) {\r\n\t\t\tevt.preventDefault();\r\n\t\t\tthis.searchText = '';\r\n\t\t\tthis.goToSearchResult(evt.item);\r\n\t\t}\r\n\t}\r\n\r\n\tgoToSearchResult(result: TooBig4Car.Logic.SearchResult) {\r\n\t\tif (result) {\r\n\t\t\tswitch (result.TypeObject) {\r\n\t\t\t\tcase \"StorageSpace\":\r\n\t\t\t\t\tthis.myRouter.navigateByUrl('/ang/Storage/Location/Space/' + result.ID + '/Details');\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcase \"PickupDelivery\":\r\n\t\t\t\t\tthis.myRouter.navigateByUrl('/ang/PickupDelivery/' + result.ID);\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcase \"PropertyItem\":\r\n\t\t\t\t\tthis.myRouter.navigateByUrl('/ang/Storage/Items/' + result.ID);\r\n\t\t\t\t\treturn;\r\n\t\t\t\tcase \"CustomerAccount\":\r\n\t\t\t\t\tthis.myRouter.navigateByUrl('/ang/CustomerAccount/' + result.ID);\r\n\t\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tqrScan2() {\r\n\t\tconst modalRef = this.myModalService.open(ScannerPopUpComponent, { size: 'lg' });\r\n\t\tconst scannerComponent = modalRef.componentInstance as ScannerPopUpComponent;\r\n\r\n\r\n\t\tscannerComponent.visible = true;\r\n\t\tscannerComponent.scanResult.subscribe((val: string) => {\r\n\t\t\tif (val && val.length > 4) {\r\n\t\t\t\tvar searchObj: TooBig4Car.Logic.SearchVM = {\r\n\t\t\t\t\tSearchText: val\r\n\t\t\t\t};\r\n\t\t\t\tthis.mySearchService.search(searchObj)\r\n\t\t\t\t\t.subscribe(col => {\r\n\t\t\t\t\t\tif (col.length) {\r\n\t\t\t\t\t\t\tthis.goToSearchResult(col[0]);\r\n\t\t\t\t\t\t\tmodalRef.close();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t}\r\n\r\n\tlogIn() {\r\n\t\tthis.authService.login();\r\n\t}\r\n\tupdate() {\r\n\t\tthis.authService.updateUserInfo();\r\n\t}\r\n\tasync signout() {\r\n\t\tthis.configData.user = null;\r\n\t\tawait this.authService.signout();\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\t// prevent memory leak when component is destroyed\r\n\t\tif (this.subscription) {\r\n\t\t\tthis.subscription.unsubscribe();\r\n\t\t}\r\n\r\n\t\tthis.stopConnection();\r\n\t}\r\n\r\n}\r\n","///borrowed from here: https://stackoverflow.com/questions/40664523/angular2-ngbdatepicker-how-to-format-date-in-inputfield\r\nimport { Injectable } from \"@angular/core\";\r\nimport { NgbDateParserFormatter, NgbDateStruct, NgbDateAdapter } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { DateTime } from \"luxon\";\r\n\r\nfunction padNumber(value: number) {\r\n\tif (isNumber(value)) {\r\n\t\treturn `0${value}`.slice(-2);\r\n\t} else {\r\n\t\treturn \"\";\r\n\t}\r\n}\r\n\r\nfunction isNumber(value: any): boolean {\r\n\treturn !isNaN(toInteger(value));\r\n}\r\n\r\nfunction toInteger(value: any): number {\r\n\treturn parseInt(value);\r\n}\r\nfunction makeYear(value: any): number {\r\n\tvar val = toInteger(value);\r\n\tif (val < 1000) {\r\n\t\tval += 2000;\r\n\t} else if (val < 2000) {\r\n\t\tval += 1000;\r\n\t}\r\n\treturn val;\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class ECINgbDateParserFormatter extends NgbDateParserFormatter {\r\n\tparse(value: string): NgbDateStruct {\r\n\t\tif (value) {\r\n\t\t\tconst dateParts = value.trim().split('/');\r\n\t\t\tif (dateParts.length === 1 && isNumber(dateParts[0])) {\r\n\t\t\t\tswitch (dateParts[0].length) {\r\n\t\t\t\t\tcase 8:\r\n\t\t\t\t\t\treturn { year: makeYear(dateParts[0].substr(4, 4)), month: toInteger(dateParts[0].substr(0, 2)), day: toInteger(dateParts[0].substr(2, 2)) };\r\n\t\t\t\t\tcase 7:\r\n\t\t\t\t\t\treturn { year: makeYear(dateParts[0].substr(3, 4)), month: toInteger(dateParts[0].substr(0, 1)), day: toInteger(dateParts[0].substr(1, 2)) };\r\n\t\t\t\t\tcase 6:\r\n\t\t\t\t\t\treturn { year: makeYear(dateParts[0].substr(4, 2)), month: toInteger(dateParts[0].substr(0, 2)), day: toInteger(dateParts[0].substr(2, 2)) };\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\treturn { year: makeYear(dateParts[0]), month: null, day: null };\r\n\t\t\t\t}\r\n\r\n\t\t\t} else if (dateParts.length === 2 && isNumber(dateParts[0]) && isNumber(dateParts[1])) {\r\n\t\t\t\treturn { year: makeYear(dateParts[1]), month: toInteger(dateParts[0]), day: null };\r\n\t\t\t} else if (dateParts.length === 3 && isNumber(dateParts[0]) && isNumber(dateParts[1]) && isNumber(dateParts[2])) {\r\n\t\t\t\treturn { year: makeYear(dateParts[2]), month: toInteger(dateParts[0]), day: toInteger(dateParts[1]) };\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tformat(date: NgbDateStruct): string {\r\n\t\tlet stringDate: string = \"\";\r\n\t\tif (date) {\r\n\t\t\tstringDate += isNumber(date.month) ? padNumber(date.month) + \"/\" : \"\";\r\n\t\t\tstringDate += isNumber(date.day) ? padNumber(date.day) + \"/\" : \"\";\r\n\t\t\tstringDate += date.year;\r\n\t\t}\r\n\t\treturn stringDate;\r\n\t}\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class NgbDateNativeAdapter extends NgbDateAdapter {\r\n\tfromModel(date: Date): NgbDateStruct {\r\n\t\treturn date ? { year: date.getFullYear(), month: date.getMonth() + 1, day: date.getDate() || 1 } : null;\r\n\t}\r\n\r\n\ttoModel(date: NgbDateStruct): Date {\r\n\t\treturn date ? new Date(date.year, date.month - 1, date.day, 0, 0, 0) : null;\r\n\t}\r\n}\r\n\r\n@Injectable()\r\nexport class NgbDateStringAdapter extends NgbDateAdapter {\r\n\tfromModel(value: string): NgbDateStruct {\r\n\t\tif (value) {\r\n\t\t\tlet newDate: Date = new Date(value);\r\n\t\t\tvar dt = DateTime.fromJSDate(newDate);\r\n\t\t\tif (typeof(value) == 'string' && value.endsWith('Z')) {\r\n\t\t\t\tdt = dt.toUTC();\r\n\t\t\t}\r\n\r\n\t\t\treturn newDate ? { year: dt.year, month: dt.month, day: dt.day } : null;\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\ttoModel(date: NgbDateStruct): string {\r\n\t\tlet stringDate: string = \"\";\r\n\t\tif (date) {\r\n\t\t\tvar lxDate = DateTime.local(date.year, date.month, date.day);\r\n\t\t\tstringDate = lxDate.toJSON();\r\n\t\t}\r\n\t\treturn stringDate;\r\n\t}\r\n}\r\n","//Borrowed from here http://www.17educations.com/angularjs-2/google-map-directions-display-angular-2/\r\n\r\nimport { Component, Input } from '@angular/core';\r\nimport { GoogleMap } from '@angular/google-maps';\r\nimport { Subject, Subscription } from 'rxjs';\r\nimport { ConfigService } from '../Services/ConfigService';\r\nimport { DateTime } from 'luxon';\r\n\r\n\r\n@Component({\r\n\tselector: 'google-map-directions',\r\n\ttemplate: \"
{{totalMiles | number : '1.2-2'}} Miles
\",\r\n})\r\nexport class DirectionsMapDirective { \r\n\r\n\tget totalMiles(): number {\r\n\t\tvar meters = 0;\r\n\t\tthis.mapPaths.forEach(lh => {\r\n\t\t\tmeters += lh.Meters;\r\n\t\t});\r\n\t\treturn (meters / 1000) / this.MilesToKM;\r\n\t}\r\n\r\n\tprivate MilesToKM: number = 1.60934;\r\n\r\n\tprivate _showMiles: boolean = false;\r\n\r\n\t@Input()\r\n\tset showMiles(val: boolean) {\r\n\t\tthis._showMiles = val;\r\n\t}\r\n\r\n\tprivate _streetView: boolean = false;\r\n\r\n\t@Input()\r\n\tset streetView(val: boolean) {\r\n\t\tthis._streetView = val;\r\n\t\tif (this._map) {\r\n\t\t\tthis._map.setOptions({\r\n\t\t\t\tstreetViewControl: this._streetView\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\t@Input()\r\n\tset map(val: GoogleMap) {\r\n\t\tthis._map = val.googleMap;\r\n\t\tif (this._map) {\r\n\t\t\tthis._map.setOptions({\r\n\t\t\t\tstreetViewControl: this._streetView,\r\n\t\t\t\tfullscreenControl: false,\r\n\t\t\t\tstyles: [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfeatureType: 'poi',\r\n\t\t\t\t\t\tstylers: [{\r\n\t\t\t\t\t\t\tvisibility: 'off'\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"featureType\": \"poi.business\",\r\n\t\t\t\t\t\t\"stylers\": [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\"visibility\": \"off\"\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t]\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tgetmap(): google.maps.Map {\r\n\t\treturn this._map;\r\n\t}\r\n\tsetMap(map: google.maps.Map) {\r\n\t\tthis._map = map;\r\n\t}\r\n\tprivate _map: google.maps.Map;\r\n\tprivate _directionsService: google.maps.DirectionsService;\r\n\tprivate _changes = new Subject();\r\n\r\n\r\n\t_useSymbols: boolean = false;\r\n\t@Input()\r\n\tset useSymbols(val: boolean) {\r\n\t\tif (this._useSymbols != val) {\r\n\t\t\tthis._useSymbols = true;\r\n\t\t}\r\n\t}\r\n\t_useStraightLine: boolean = false;\r\n\t@Input()\r\n\tset useStraightLine(val: boolean) {\r\n\t\tif (this._useStraightLine != val) {\r\n\t\t\tthis._useStraightLine = true;\r\n\t\t}\r\n\t}\r\n\r\n\tprivate readonly _polylineOptions = {\r\n\t\tstrokeWeight: 8,\r\n\t\tstrokeOpacity: 0.7,\r\n\t\tstrokeColor: '#00468c'\r\n\t};\r\n\r\n\r\n\r\n\tconstructor(\r\n\t\tprivate configData: ConfigService) {\r\n\r\n\t\tthis._directionsService = new google.maps.DirectionsService();\r\n\t}\r\n\r\n\tmapPaths: GmapDirectionsDataHolder[] = [];\r\n\r\n\tsetDataBulk(bulkData: GmapDirectionsDataHolder[], clearFirst: boolean) {\r\n\t\tif (clearFirst) {\r\n\t\t\tthis.mapPaths = [];\r\n\t\t}\r\n\t\tbulkData.forEach(mapData => {\r\n\t\t\tthis.mapPaths.push(mapData);\r\n\t\t});\r\n\t\tthis.ngOnChanges();\r\n\t}\r\n\tsetData(mapData: GmapDirectionsDataHolder) {\r\n\t\tthis.mapPaths.push(mapData);\r\n\t\tvar bounds = new google.maps.LatLngBounds();\r\n\t\tthis.addPathToMap(mapData, bounds);\r\n\t\tif (mapData) {\r\n\t\t\tif (!bounds.isEmpty()) {\r\n\t\t\t\tthis._map.fitBounds(bounds);\r\n\t\t\t\tthis._map.panToBounds(bounds);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tminTruckDistanceInKM = .5;\r\n\tisTruckPointFarEnoughToShow(pt1: google.maps.LatLngLiteral, pt2: google.maps.LatLngLiteral): boolean {\r\n\t\tif (!pt2) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tif (!pt1) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn this.getDistanceFromLatLonInKm(pt1.lat, pt2.lat, pt1.lng, pt2.lng) > this.minTruckDistanceInKM;\r\n\t\t//var isSame = pt2 && pt1.lat == pt2.lat && pt1.lng == pt2.lng;\r\n\t\t//return !isSame;\r\n\t}\r\n\r\n\t//https://stackoverflow.com/questions/27928/calculate-distance-between-two-latitude-longitude-points-haversine-formula\r\n\tgetDistanceFromLatLonInKm(lat1: number, lon1: number, lat2: number, lon2: number) {\r\n\t\tvar R = 6371; // Radius of the earth in km\r\n\t\tvar dLat = this.deg2rad(lat2 - lat1); // deg2rad below\r\n\t\tvar dLon = this.deg2rad(lon2 - lon1);\r\n\t\tvar a =\r\n\t\t\tMath.sin(dLat / 2) * Math.sin(dLat / 2) +\r\n\t\t\tMath.cos(this.deg2rad(lat1)) * Math.cos(this.deg2rad(lat2)) *\r\n\t\t\tMath.sin(dLon / 2) * Math.sin(dLon / 2)\r\n\t\t\t;\r\n\t\tvar c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\r\n\t\tvar d = R * c; // Distance in km\r\n\t\treturn d;\r\n\t}\r\n\r\n\tdeg2rad(deg: number) {\r\n\t\treturn deg * (Math.PI / 180)\r\n\t}\r\n\tgetNearestPoint(pt: google.maps.LatLng): GmapTruckPoint {\r\n\t\tvar sItem = null;\r\n\t\tif (pt) {\r\n\t\t\tvar distance = -1;\r\n\t\t\tthis._truckPoints.forEach(item => {\r\n\t\t\t\tvar newDist = this.getDistanceFromLatLonInKm(pt.lat(), item.location.lat, pt.lng(), item.location.lng);\r\n\t\t\t\tif (newDist > distance) {\r\n\t\t\t\t\tdistance = newDist;\r\n\t\t\t\t\tsItem = item;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn sItem;\r\n\t}\r\n\r\n\r\n\tinfoWindow: google.maps.InfoWindow = null;\r\n\ttruckPath: google.maps.Polyline = null;\r\n\t_truckPoints: GmapTruckPoint[] = [];\r\n\tsetTruckMap(truckMapPoints: GmapTruckPoint[]) {\r\n\t\tif (!truckMapPoints?.length) {\r\n\t\t\tif (this.truckPath) {\r\n\t\t\t\tthis.truckPath.setMap(null);\r\n\t\t\t}\r\n\t\t\tthis._truckPoints = [];\r\n\t\t} else {\r\n\r\n\t\t\tif (this.truckPath) {\r\n\t\t\t\tthis.truckPath.setMap(null);\r\n\t\t\t}\r\n\t\t\tthis._truckPoints = [];\r\n\t\t\tvar lastPoint: GmapTruckPoint = null;\r\n\t\t\tvar bounds = new google.maps.LatLngBounds();\r\n\r\n\t\t\ttruckMapPoints.forEach(tPt => {\r\n\t\t\t\tif (this.isTruckPointFarEnoughToShow(lastPoint?.location, tPt?.location)) {\r\n\t\t\t\t\tthis._truckPoints.push(tPt);\r\n\t\t\t\t\tlastPoint = tPt;\r\n\t\t\t\t\tbounds.extend(tPt?.location);\r\n\t\t\t\t}\r\n\t\t\t})\r\n\t\t\tvar points = this._truckPoints.map(a => a.location);\r\n\t\t\tconst flightPath = new google.maps.Polyline({\r\n\t\t\t\tpath: points,\r\n\t\t\t\tgeodesic: true,\r\n\t\t\t\tstrokeWeight: 4,\r\n\t\t\t\tstrokeOpacity: 0.7,\r\n\t\t\t\tstrokeColor: '#000000'\r\n\t\t\t});\r\n\t\t\tflightPath.setMap(this._map);\r\n\t\t\tthis.truckPath = flightPath;\r\n\t\t\tif (!bounds.isEmpty()) {\r\n\t\t\t\tthis._map.fitBounds(bounds);\r\n\t\t\t}\r\n\t\t\tif (!this.infoWindow) {\r\n\t\t\t\tvar thisHolder = this;\r\n\t\t\t\tvar wdw = new google.maps.InfoWindow();\r\n\t\t\t\tthisHolder.infoWindow = wdw;\r\n\r\n\t\t\t\tgoogle.maps.event.addListener(this.truckPath, 'mouseover', (evt:any)=> {\r\n\t\t\t\t\tvar closePt = thisHolder.getNearestPoint(evt.latLng);\r\n\t\t\t\t\tif (closePt) {\r\n\t\t\t\t\t\twdw.setPosition(evt.latLng)\r\n\t\t\t\t\t\twdw.setContent('As of ' + DateTime.fromISO(closePt.time.toString()).toLocaleString(DateTime.DATETIME_MED))\r\n\t\t\t\t\t\twdw.open(thisHolder._map);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tgoogle.maps.event.addListener(this.truckPath, 'mouseout', ()=> {\r\n\t\t\t\t\twdw.close();\r\n\t\t\t\t});\r\n\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tngOnChanges() {\r\n\t\tthis._changes.next({});\r\n\t\tthis.remap();\r\n\r\n\t}\r\n\r\n\tclear() {\r\n\t\tif (this.mapPaths) {\r\n\t\t\tthis.mapPaths.forEach(mp => {\r\n\t\t\t\tmp.clearMap();\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.mapPaths = [];\r\n\t\tthis._changes.next({});\r\n\r\n\t}\r\n\r\n\tremap() {\r\n\t\tvar bounds = new google.maps.LatLngBounds();\r\n\t\tthis.mapPaths.forEach(lineHolder => {\r\n\t\t\tthis.addPathToMap(lineHolder, bounds);\r\n\t\t});\r\n\t\tif (this.mapPaths.length) {\r\n\t\t\tvar fit = true;\r\n\t\t\tif (this.mapPaths.length == 1) {\r\n\t\t\t\tvar path = this.mapPaths[0];\r\n\t\t\t\tvar single = path.allPoints?.length == 1;\r\n\t\t\t\tif (!single) {\r\n\t\t\t\t\tsingle = path.allPoints?.length == 2 && !this.isDifferentLocation(path.allPoints[0], path.allPoints[1]);\r\n\t\t\t\t}\r\n\t\t\t\tif (single) {\r\n\t\t\t\t\tvar thisHolder = this;\r\n\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\tthisHolder._map.setCenter(path.allPoints[0].getAsLocation());\r\n\t\t\t\t\t\tthisHolder._map.setZoom(11);\r\n\t\t\t\t\t\tconsole.log('Zoom: 11');\r\n\t\t\t\t\t}, 10);\r\n\t\t\t\t\tfit = false;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (fit) {\r\n\t\t\t\tif (!bounds.isEmpty()) {\r\n\t\t\t\t\tthis._map.fitBounds(bounds);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tisDifferentLocation(source: GmapPoint, thisPt: GmapPoint): boolean {\r\n\t\tif (source && thisPt) {\r\n\t\t\tvar sLoc = source.getAsLocation();\r\n\t\t\tvar eLoc = thisPt.getAsLocation();\r\n\t\t\tif (sLoc && eLoc && sLoc.lat == eLoc.lat && sLoc.lng == eLoc.lng) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tdrawStraightLines(lineHolder: GmapDirectionsDataHolder) {\r\n\t\tvar points: (google.maps.LatLng | google.maps.LatLngLiteral)[] = [];\r\n\t\tlineHolder.allPoints.forEach(pt => {\r\n\t\t\tvar loc = pt.getAsLocation();\r\n\t\t\tpoints.push(loc);\r\n\r\n\t\t});\r\n\r\n\t\tvar opts = Object.assign({\r\n\t\t\tpath: points,\r\n\t\t\tgeodesic: true,\r\n\t\t}, this._polylineOptions, {\r\n\t\t\tstrokeColor: lineHolder.color,\r\n\t\t});\r\n\t\tconst flightPath = new google.maps.Polyline(opts);\r\n\t\tlineHolder.straightLineHolder = flightPath;\r\n\t\tflightPath.setMap(this._map);\r\n\t}\r\n\r\n\taddPathToMap(lineHolder: GmapDirectionsDataHolder, bounds: google.maps.LatLngBounds) {\r\n\t\tvar thisHolder = this;\r\n\t\tif (lineHolder.startingPoint && lineHolder.endingPoint && lineHolder.wayPoints) {\r\n\t\t\tvar sub = this._changes.subscribe(() => lineHolder.clearMap());\r\n\t\t\tlineHolder.clearSubscription = sub;\r\n\t\t\tif (!lineHolder.onlyPoints) {\r\n\t\t\t\tif (lineHolder.wayPoints.length <= 25) { //Gmaps limits to 25 way points\r\n\t\t\t\t\tlineHolder.addMarkers(this._useSymbols, this._map, bounds);\r\n\t\t\t\t\tif (lineHolder.directionsResult && lineHolder.directionsRenderer) {\r\n\t\t\t\t\t\t//we already have the results\r\n\t\t\t\t\t\tif (this._useStraightLine || !lineHolder.directionsResult?.routes?.length) {\r\n\t\t\t\t\t\t\tthis.drawStraightLines(lineHolder);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tlineHolder.directionsRenderer.setMap(this._map);\r\n\t\t\t\t\t\t\tlineHolder.directionsRenderer.setDirections(lineHolder.directionsResult);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.routeRequest(lineHolder, false);\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tlineHolder.addMarkers(this._useSymbols, this._map, bounds);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\trouteRequest(lineHolder: GmapDirectionsDataHolder, includeWalking: boolean) {\r\n\t\tconst req = lineHolder.buildDirectionsRequest(includeWalking);\r\n\t\tvar thisHolder = this;\r\n\t\tvar checkAgain = !includeWalking;\r\n\t\tthis._directionsService.route(req, (response: google.maps.DirectionsResult, status: google.maps.DirectionsStatus) => {\r\n\t\t\tif (status === google.maps.DirectionsStatus.OK) {\r\n\t\t\t\tif (response.routes?.length) {\r\n\t\t\t\t\tcheckAgain = false;\r\n\t\t\t\t\tlineHolder.directionsResult = response;\r\n\r\n\t\t\t\t\tlineHolder.Meters = 0;\r\n\t\t\t\t\tif (thisHolder._showMiles) {\r\n\t\t\t\t\t\tif (lineHolder.directionsResult?.routes?.length) {\r\n\t\t\t\t\t\t\tlineHolder.directionsResult.routes[0]?.legs?.forEach(leg => {\r\n\t\t\t\t\t\t\t\tif (leg.distance) {\r\n\t\t\t\t\t\t\t\t\tlineHolder.Meters += leg.distance.value;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar opts = Object.assign({}, this._polylineOptions, {\r\n\t\t\t\t\t\tstrokeColor: lineHolder.color,\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tconst directionsDisplay: any = new google.maps.DirectionsRenderer({\r\n\t\t\t\t\t\tdraggable: false,\r\n\t\t\t\t\t\tsuppressMarkers: true,\r\n\t\t\t\t\t\tpolylineOptions: opts\r\n\t\t\t\t\t});\r\n\t\t\t\t\tlineHolder.directionsRenderer = directionsDisplay;\r\n\r\n\t\t\t\t\tif (this._useStraightLine) {\r\n\t\t\t\t\t\tthis.drawStraightLines(lineHolder);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdirectionsDisplay.setMap(this._map);\r\n\t\t\t\t\t\tdirectionsDisplay.setDirections(lineHolder.directionsResult);\r\n\t\t\t\t\t\t//bounds.union(lineHolder.directionsResult.routes[0].bounds);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (checkAgain) {\r\n\t\t\t\tthis.routeRequest(lineHolder, true);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n}\r\nexport class GmapMarkerTypeEnum {\r\n\r\n\tstatic Pickup: number = 0;\r\n\tstatic Assembly: number = 1;\r\n\tstatic Delivery: number = 2;\r\n\tstatic Break: number = 3;\r\n\tstatic WarehousePickup: number = 4;\r\n\tstatic WarehouseDelivery: number = 5;\r\n\tstatic Start: number = 6;\r\n\tstatic ServiceOnly: number = 7;\r\n\tstatic Finish: number = 8;\r\n\tstatic Completed: number = 9;\r\n\tstatic Cancelled: number = 10;\r\n\tstatic Removal: number = 11;\r\n\tstatic Exchange: number = 12;\r\n\tstatic NotifyItems: number = 13;\r\n\tstatic IsWarehouseOrCustomerLocation: number = 14;\r\n\r\n\r\n}\r\n\r\nexport class GmapTruckPoint {\r\n\tlocation?: google.maps.LatLngLiteral;\r\n\ttime?: Date;\r\n\textraData: string;\r\n}\r\nexport class GmapPoint {\r\n\r\n\tstatic MakePoint(loc: google.maps.LatLngLiteral, col: string, stopNum: string) {\r\n\t\tif (loc) {\r\n\t\t\tvar val = new GmapPoint();\r\n\t\t\tval.location = loc;\r\n\t\t\tval.color = col;\r\n\t\t\tval.stopNumber = stopNum;\r\n\t\t\tval.markerTypes = [];\r\n\t\t\treturn val;\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tclickFunction: Function;\r\n\tlocation?: google.maps.LatLngLiteral;\r\n\tmarkerTypes: GmapMarkerTypeEnum[] = [];\r\n\tcolor: string = '';\r\n\tstopNumber: string = '';\r\n\tcount: number = 1;\r\n\titems: any[] = [];\r\n\tgetAsLocation(): google.maps.LatLngLiteral {\r\n\t\treturn this.location;\r\n\t}\r\n\r\n\tgetAsDirectionsWaypoint(): google.maps.DirectionsWaypoint {\r\n\r\n\t\treturn {\r\n\t\t\tlocation: this.getAsLocation(),\r\n\t\t\tstopover: false\r\n\t\t} as google.maps.DirectionsWaypoint;\r\n\t}\r\n}\r\nexport class GmapDirectionsDataHolder {\r\n\tMeters: number = 0;\r\n\tcolor: string = '';\r\n\tstartingPoint: google.maps.LatLngLiteral;\r\n\tendingPoint: google.maps.LatLngLiteral;\r\n\twayPoints: google.maps.DirectionsWaypoint[];\r\n\tonlyPoints: boolean = false;\r\n\tallPoints: GmapPoint[] = [];\r\n\tallMarkers: google.maps.Marker[] = [];\r\n\r\n\tpublic straightLineHolder: google.maps.Polyline;\r\n\tpublic directionsResult: google.maps.DirectionsResult;\r\n\tpublic directionsRenderer: google.maps.DirectionsRenderer;\r\n\tpublic clearSubscription: Subscription;\r\n\tconstructor(color: string, wPoints: GmapPoint[]) {\r\n\t\tthis.color = color;\r\n\t\tif (wPoints.length) {\r\n\t\t\tthis.allMarkers = [];\r\n\t\t\tthis.allPoints = wPoints;\r\n\t\t\tthis.startingPoint = wPoints[0].getAsLocation();\r\n\t\t\tthis.endingPoint = wPoints[wPoints.length - 1].getAsLocation();\r\n\t\t\tthis.wayPoints = [];\r\n\t\t\tif (wPoints.length > 2) {\r\n\t\t\t\tfor (var i = 1; i < wPoints.length - 1; i++) {\r\n\t\t\t\t\tvar wpoint = wPoints[i].getAsDirectionsWaypoint();\r\n\t\t\t\t\twpoint.stopover = true;\r\n\t\t\t\t\tthis.wayPoints.push(wpoint);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\taddMarkers(useSymbols: boolean, imap: google.maps.Map, bounds: google.maps.LatLngBounds) {\r\n\t\tvar map: google.maps.Map = imap;\r\n\t\tif (!map) {\r\n\t\t\tif (this.directionsRenderer) {\r\n\t\t\t\tmap = this.directionsRenderer.getMap();\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!map) {\r\n\t\t\tif (this.straightLineHolder) {\r\n\t\t\t\tmap = this.straightLineHolder.getMap();\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (map) {\r\n\t\t\tif (this.allMarkers?.length) {\r\n\t\t\t\tthis.allMarkers.forEach(mark => {\r\n\t\t\t\t\tmark.setMap(map);\r\n\t\t\t\t\tbounds.extend(mark.getPosition());\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.allMarkers = [];\r\n\t\t\t\tthis.allPoints.forEach(pt => {\r\n\t\t\t\t\tif (pt.markerTypes?.length) {\r\n\t\t\t\t\t\tvar itext = '';\r\n\t\t\t\t\t\tvar ititle = '';\r\n\t\t\t\t\t\tif (pt.count < 2) {\r\n\t\t\t\t\t\t\titext += pt.stopNumber;\r\n\t\t\t\t\t\t\tititle += pt.stopNumber + ' ';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar isCompleted = 0;\r\n\t\t\t\t\t\tvar isCancelled = 0;\r\n\t\t\t\t\t\tvar isWarehouseOrCustomerLocation = pt.markerTypes.filter(a => a == GmapMarkerTypeEnum.IsWarehouseOrCustomerLocation).length > 0;\r\n\t\t\t\t\t\tpt.markerTypes.forEach(mt => {\r\n\t\t\t\t\t\t\tswitch (mt) {\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Completed:\r\n\t\t\t\t\t\t\t\t\tisCompleted++;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Cancelled:\r\n\t\t\t\t\t\t\t\t\tisCancelled++;\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Assembly:\r\n\t\t\t\t\t\t\t\t\tif (!isWarehouseOrCustomerLocation) {\r\n\t\t\t\t\t\t\t\t\t\titext += 'A';\r\n\t\t\t\t\t\t\t\t\t\tititle += 'With Assembly';\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Delivery:\r\n\t\t\t\t\t\t\t\t\titext += useSymbols ? '\\uf063' : 'D';\r\n\t\t\t\t\t\t\t\t\tititle += 'Delivery';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Pickup:\r\n\t\t\t\t\t\t\t\t\titext += useSymbols ? '\\uf062' : 'P';\r\n\t\t\t\t\t\t\t\t\tititle += 'Pickup';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Break:\r\n\t\t\t\t\t\t\t\t\titext += useSymbols ? '\\uf04d' : 'B';\r\n\t\t\t\t\t\t\t\t\tititle += 'Break';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.WarehousePickup:\r\n\t\t\t\t\t\t\t\t\titext += 'W';\r\n\t\t\t\t\t\t\t\t\tititle += 'Warehouse Pickup';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.WarehouseDelivery:\r\n\t\t\t\t\t\t\t\t\titext += 'W';\r\n\t\t\t\t\t\t\t\t\tititle += 'Warehouse Delivery';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Start:\r\n\t\t\t\t\t\t\t\t\titext += useSymbols ? '\\uf04b' : 'S';\r\n\t\t\t\t\t\t\t\t\tititle += 'Starting Place';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.ServiceOnly:\r\n\t\t\t\t\t\t\t\t\titext += 'SO';\r\n\t\t\t\t\t\t\t\t\tititle += 'Service Only';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Finish:\r\n\t\t\t\t\t\t\t\t\titext += useSymbols ? '\\uf28d' : 'E';\r\n\t\t\t\t\t\t\t\t\tititle += 'Ending Place';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Removal:\r\n\t\t\t\t\t\t\t\t\titext += 'R';\r\n\t\t\t\t\t\t\t\t\tititle += 'Removal';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.Exchange:\r\n\t\t\t\t\t\t\t\t\titext += 'X';\r\n\t\t\t\t\t\t\t\t\tititle += 'Exchange';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t\tcase GmapMarkerTypeEnum.NotifyItems:\r\n\t\t\t\t\t\t\t\t\titext += '*';\r\n\t\t\t\t\t\t\t\t\tititle += 'Notify Items';\r\n\t\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (pt.count > 1) {\r\n\t\t\t\t\t\t\titext += '+' + pt.count.toString();\r\n\t\t\t\t\t\t\tititle += '-' + pt.count.toString() + ' stops';\r\n\t\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\t\tvar pinSVGFilled = \"M 12,2 C 8.1340068,2 5,5.1340068 5,9 c 0,5.25 7,13 7,13 0,0 7,-7.75 7,-13 0,-3.8659932 -3.134007,-7 -7,-7 z\";\r\n\t\t\t\t\t\t//https://itpscan.ca/blog/google_maps/maps_07a/\r\n\t\t\t\t\t\tvar squaremarker = 'M0-165c-27.618 0-50 21.966-50 49.054C-50-88.849 0 0 0 0s50-88.849 50-115.946C50-143.034 27.605-165 0-165z';\r\n\t\t\t\t\t\tvar starMarker = 'M15.422,18.129l-5.264-2.768l-5.265,2.768l1.006-5.863L1.64,8.114l5.887-0.855 l2.632-5.334l2.633,5.334l5.885,0.855l-4.258,4.152L15.422,18.129z';\r\n\t\t\t\t\t\t//view-source:http://itpscan.ca/blog/google_maps/maps_12/\r\n\r\n\r\n\t\t\t\t\t\r\n\r\n\r\n\t\t\t\t\t\tvar borderColor = 'white';\r\n\t\t\t\t\t\tvar opac = 1;\r\n\t\t\t\t\t\tif (pt.count < 2) {\r\n\t\t\t\t\t\t\tif (isCancelled) {\r\n\t\t\t\t\t\t\t\tborderColor += 'black';\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (isCompleted) {\r\n\t\t\t\t\t\t\t\topac = .5;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tvar markerImageToUse = pinSVGFilled;\r\n\t\t\t\t\t\tvar fontSize = \"12px\";\r\n\t\t\t\t\t\tvar markerpoint = new google.maps.Point(12, 17);\r\n\t\t\t\t\t\tvar labelOriginFilled = new google.maps.Point(12, 9);\r\n\t\t\t\t\t\tvar markerScale = 2;\r\n\t\t\t\t\t\tvar changeTypes = pt.markerTypes.filter(mt => GmapMarkerTypeEnum.Removal == mt || GmapMarkerTypeEnum.Exchange == mt || GmapMarkerTypeEnum.NotifyItems == mt );\r\n\t\t\t\t\t\tif (changeTypes.length > 0) {\r\n\t\t\t\t\t\t\tif (!isWarehouseOrCustomerLocation) {\r\n\t\t\t\t\t\t\t\tmarkerImageToUse = starMarker;\r\n\t\t\t\t\t\t\t\tfontSize = \"10px\";\r\n\t\t\t\t\t\t\t\tmarkerScale = 2.4;\r\n\t\t\t\t\t\t\t\tlabelOriginFilled = new google.maps.Point(10, 10);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t//https://stackoverflow.com/questions/2472957/how-can-i-change-the-color-of-a-google-maps-marker\r\n\t\t\t\t\t\tvar markerImage = { // https://developers.google.com/maps/documentation/javascript/reference/marker#MarkerLabel\r\n\t\t\t\t\t\t\tpath: markerImageToUse,\r\n\t\t\t\t\t\t\tanchor: markerpoint,\r\n\t\t\t\t\t\t\tfillOpacity: opac,\r\n\t\t\t\t\t\t\tfillColor: pt.color,\r\n\t\t\t\t\t\t\tstrokeWeight: 2,\r\n\t\t\t\t\t\t\tstrokeColor: borderColor,\r\n\t\t\t\t\t\t\tscale: markerScale,\r\n\t\t\t\t\t\t\tlabelOrigin: labelOriginFilled\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\tvar loc = pt.getAsLocation()\r\n\t\t\t\t\t\tbounds.extend(loc);\r\n\t\t\t\t\t\tvar mkr = new google.maps.Marker({\r\n\t\t\t\t\t\t\tposition: loc,\r\n\t\t\t\t\t\t\tmap,\r\n\t\t\t\t\t\t\tlabel: {\r\n\t\t\t\t\t\t\t\ttext: itext,\r\n\t\t\t\t\t\t\t\tcolor: \"#ffffff\",\r\n\t\t\t\t\t\t\t\tfontSize: fontSize,\r\n\t\t\t\t\t\t\t\tfontFamily: 'FontAwesome,Helvetica,Helvetica Neue,Arial'\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\ttitle: ititle,\r\n\t\t\t\t\t\t\ticon: markerImage,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif (pt.clickFunction) {\r\n\t\t\t\t\t\t\tmkr.setClickable(true);\r\n\t\t\t\t\t\t\tgoogle.maps.event.addListener(mkr, 'click', pt.clickFunction);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.allMarkers.push(mkr);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tpublic clearMap() {\r\n\t\tif (this.directionsRenderer) {\r\n\t\t\tthis.directionsRenderer.setMap(null);\r\n\t\t}\r\n\t\tif (this.straightLineHolder) {\r\n\t\t\tthis.straightLineHolder.setMap(null);\r\n\t\t}\r\n\t\tif (this.clearSubscription) {\r\n\t\t\tthis.clearSubscription.unsubscribe();\r\n\t\t}\r\n\t\tif (this.allMarkers?.length) {\r\n\t\t\tthis.allMarkers.forEach(mark => {\r\n\t\t\t\tmark.setMap(null);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tpublic buildDirectionsRequest(includeWalking: boolean): google.maps.DirectionsRequest {\r\n\r\n\t\tvar tm = google.maps.TravelMode[google.maps.TravelMode.DRIVING];\r\n\t\tif (includeWalking) {\r\n\t\t\ttm = google.maps.TravelMode[google.maps.TravelMode.DRIVING, google.maps.TravelMode.WALKING];\r\n\t\t}\r\n\t\tconst req = {\r\n\t\t\torigin: this.startingPoint,\r\n\t\t\tdestination: this.endingPoint,\r\n\t\t\twaypoints: this.wayPoints,\r\n\t\t\tavoidHighways: false,\r\n\t\t\ttravelMode: tm\r\n\t\t} as google.maps.DirectionsRequest;\r\n\r\n\t\treturn req;\r\n\t};\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DateTime, LocaleOptions } from 'luxon';\r\n\r\n@Pipe({\r\n\tname: 'dateTimeToFormatHideMidnight'\r\n})\r\nexport class DateTimeToFormatHideMidnightPipe implements PipeTransform {\r\n\ttransform(value: T, format: string, opts?: LocaleOptions) {\r\n\t\tvar strVal = (value == null ? null : value.toFormat(format, opts)) as T extends DateTime ? string : null;\r\n\t\tif (strVal) {\r\n\t\t\treturn strVal.replace(\"12:00 AM\", \"\");\r\n\t\t} else {\r\n\t\t\treturn strVal;\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n//https://stackoverflow.com/questions/36895431/angular2-pipes-how-to-format-a-phone-number\r\n\r\n@Pipe({ name: 'phone' })\r\n\r\nexport class PhonePipe implements PipeTransform {\r\n\ttransform(val: string, args: any) {\r\n\r\n\t\t//https://codepen.io/rpdasilva/pen/DpbFf\r\n\r\n\t\tif (!val || !val.trim()) { return ''; }\r\n\r\n\t\tvar numb = val.match(/\\d/g);\r\n\t\tif (!numb) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar value = numb.join(\"\");\r\n\r\n\t\tvar country, areaCode, number;\r\n\r\n\t\tswitch (value.length) {\r\n\t\t\tcase 1:\r\n\t\t\tcase 2:\r\n\t\t\tcase 3:\r\n\t\t\t\tareaCode = value;\r\n\t\t\t\tbreak;\r\n\r\n\t\t\tdefault:\r\n\t\t\t\tareaCode = value.slice(0, 3);\r\n\t\t\t\tnumber = value.slice(3);\r\n\t\t}\r\n\r\n\t\tif (number) {\r\n\t\t\tif (number.length > 3) {\r\n\t\t\t\tnumber = number.slice(0, 3) + '-' + number.slice(3, 7);\r\n\t\t\t\tif (number.length > 7) {\r\n\t\t\t\t\tnumber += \" \" + number.slice(8);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tnumber = number;\r\n\t\t\t}\r\n\r\n\t\t\treturn (\"(\" + areaCode + \") \" + number).trim();\r\n\t\t}\r\n\t\telse {\r\n\t\t\treturn val;\r\n\t\t}\r\n\t}\r\n}","///borrowed from here: https://stackoverflow.com/questions/40664523/angular2-ngbdatepicker-how-to-format-date-in-inputfield\r\nimport { Injectable } from \"@angular/core\";\r\nimport { NgbTimeAdapter, NgbTimeStruct } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { DateTime } from \"luxon\";\r\n\r\nfunction padNumber(value: number) {\r\n\tif (isNumber(value)) {\r\n\t\treturn `0${value}`.slice(-2);\r\n\t} else {\r\n\t\treturn \"\";\r\n\t}\r\n}\r\n\r\nfunction isNumber(value: any): boolean {\r\n\treturn !isNaN(toInteger(value));\r\n}\r\n\r\nfunction toInteger(value: any): number {\r\n\treturn parseInt(`${value}`, 10);\r\n}\r\n\r\n\r\n@Injectable()\r\nexport class NgbTimeNativeAdapter extends NgbTimeAdapter {\r\n\tfromModel(date: Date): NgbTimeStruct {\r\n\t\treturn date ? {\r\n\t\t\thour: date.getUTCHours(),\r\n\t\t\tminute: date.getUTCMinutes(),\r\n\t\t\tsecond: date.getUTCSeconds()\r\n\t\t} : null;\r\n\t}\r\n\r\n\ttoModel(date: NgbTimeStruct): Date {\r\n\t\tvar today: Date = DateTime.local().startOf('day').toJSDate();\r\n\t\treturn date ? new Date(today.getFullYear(), today.getMonth() - 1, today.getDay(), date.hour, date.minute, date.second) : null;\r\n\t}\r\n}\r\n\r\n@Injectable()\r\nexport class NgbTimeStringAdapter extends NgbTimeAdapter {\r\n\r\n\tfromModel(value: string): NgbTimeStruct {\r\n\t\tif (!value) {\r\n\t\t\treturn null;\r\n }\r\n\r\n\t\tconst split = value.split(':');\r\n\t\treturn {\r\n\t\t\thour: parseInt(split[0], 10),\r\n\t\t\tminute: parseInt(split[1], 10),\r\n\t\t\tsecond: parseInt(split[2], 10)\r\n\t\t};\r\n\t}\r\n\r\n\ttoModel(time: NgbTimeStruct): string {\r\n\t\tif (!time) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn `${this.pad(time.hour)}:${this.pad(time.minute)}:${this.pad(time.second)}`;\r\n\t}\r\n\r\n\tprivate pad(i: number): string {\r\n\t\treturn i < 10 ? `0${i}` : `${i}`;\r\n\t}\r\n}\r\n","import { AfterContentInit, Directive, ElementRef, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[autoFocus]'\r\n})\r\nexport class AutofocusDirective implements AfterContentInit {\r\n\r\n @Input() public appAutoFocus: boolean;\r\n\r\n public constructor(private el: ElementRef) {\r\n }\r\n\r\n public ngAfterContentInit() {\r\n\r\n setTimeout(() => {\r\n this.el.nativeElement.focus();\r\n }, 500);\r\n }\r\n}","//https://stackoverflow.com/questions/34164413/how-to-apply-filters-to-ngfor\r\nimport { PipeTransform, Pipe } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Pipe({\r\n name: 'callback',\r\n pure: false\r\n})\r\nexport class CallbackPipe implements PipeTransform {\r\n transform(items: any, callback: (item: any, search: string) => boolean, searchStr: string): any {\r\n if (!items || !callback) {\r\n return items;\r\n }\r\n var result: any[];\r\n if (Array.isArray(items)) {\r\n result = items.filter(item => callback(item, searchStr));\r\n } else {\r\n result = items.array();\r\n }\r\n return result;\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: \"formatAddress\" })\r\nexport class FormatAddressPipe implements PipeTransform {\r\n\r\n\tconstructor(private sanitizer: DomSanitizer) {\r\n\t}\r\n\r\n\ttransform(address: any) {\r\n\t\tvar format: string = '';\r\n\t\tif (address) {\r\n\t\t\tif (address.IsLatLongInvalid) {\r\n\t\t\t\tformat += '
***';\r\n\t\t\t} else {\r\n\t\t\t\tformat += '
';\r\n\t\t\t}\r\n\t\t\t\tif (address.Address1 && address.Address1.trim()) {\r\n\t\t\t\t\tformat += address.Address1 + '
';\r\n\t\t\t\t}\r\n\t\t\tif (address.Address2 && address.Address2.trim()) {\r\n\t\t\t\tformat += address.Address2 + '
';\r\n\t\t\t}\r\n\t\t\tif (address.City || address.State || address.ZipCode) {\r\n\t\t\t\tformat += address.City + ' ' + address.State + ', ' + address.ZipCode;\r\n\t\t\t}\r\n\t\t\tformat += '
';\r\n\t\t}\r\n\r\n\t\treturn this.sanitizer.bypassSecurityTrustHtml(format);\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({ name: 'mapToIterable' })\r\nexport class MapToIterable implements PipeTransform {\r\n transform(map: { [key: string]: any }, ...parameters: any[]) {\r\n if (!map)\r\n return undefined;\r\n\t\treturn Object.keys(map).sort(function (a, b) {\r\n\t\t\treturn a.toLowerCase().localeCompare(b.toLowerCase());\r\n\t\t})\r\n .map((key) => ({ 'key': key, 'value': map[key] }));\r\n }\r\n}\r\n//https://stackoverflow.com/questions/31490713/iterate-over-object-in-angular","import { Pipe, PipeTransform } from \"@angular/core\";\r\nimport { DomSanitizer } from \"@angular/platform-browser\";\r\n\r\n//https://stackoverflow.com/questions/36895431/angular2-pipes-how-to-format-a-phone-number\r\n\r\n@Pipe({ name: 'safeHtml' })\r\n\r\nexport class safeHtmlPipe implements PipeTransform {\r\n\r\n\tconstructor(private sanitizer: DomSanitizer) { }\r\n\r\n\ttransform(val: string, args: any) {\r\n\t\treturn this.sanitizer.bypassSecurityTrustHtml(val);\r\n\t}\r\n}\r\n","import { Pipe } from \"@angular/core\";\r\n\r\n@Pipe({ name: \"sort\" })\r\nexport class ArraySortPipe {\r\n transform(array: any[], field: string): any[] {\r\n if (array) {\r\n array.sort((a: any, b: any) => {\r\n if (a[field] < b[field]) {\r\n return -1;\r\n } else if (a[field] > b[field]) {\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n }\r\n return array;\r\n }\r\n}","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n//https://stackoverflow.com/questions/36895431/angular2-pipes-how-to-format-a-phone-number\r\n\r\n@Pipe({ name: 'summaryNumber' })\r\n\r\nexport class summaryNumberPipe implements PipeTransform {\r\n\ttransform(val: string, args: any) {\r\n\r\n\t\t//https://codepen.io/rpdasilva/pen/DpbFf\r\n\t\tval = val + '';\r\n\t\tif (!val || !val.trim()) { return ''; }\r\n\r\n\t\tvar numb = parseFloat(val);\r\n\t\tif (isNaN(numb)) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\r\n\t\tif (numb < 1000) {\r\n\t\t\treturn numb;\r\n\t\t} else if (numb < 1000000) {\r\n\t\t\treturn Math.round(numb / 100) / 10 + 'k';\r\n\t\t} else {\r\n\t\t\treturn Math.round(numb / 100000) / 10 + 'm';\r\n\t\t}\r\n\t}\r\n}","//https://ng-bootstrap.github.io/#/components/toast/examples\r\nimport { Component, TemplateRef } from '@angular/core';\r\n\r\nimport { NgFor, NgIf, NgTemplateOutlet } from '@angular/common';\r\nimport { NgbToastModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { DialogService } from '../Services/DialogService';\r\n\r\n@Component({\r\n\tselector: 'app-toasts',\r\n\timports: [NgbToastModule, NgIf, NgTemplateOutlet, NgFor],\r\n\ttemplate: `\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t{{ toast.text }}\r\n\t\t\r\n\t`,\r\n\thost: { class: 'toast-container position-fixed top-0 end-0 p-3', style: 'z-index: 1200' },\r\n})\r\nexport class ToastsContainer {\r\n\tconstructor(public toastService: DialogService) { }\r\n\r\n\tneedsButton(toast:any): boolean {\r\n\t\treturn toast?.onclick;\r\n\t}\r\n\r\n\tclick(toast: any) {\r\n\t\tif (toast.onclick) {\r\n\t\t\ttoast.onclick.call();\r\n\t\t}\r\n\t}\r\n}\r\n","import { Directive, ElementRef, Input, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\n///https://gist.github.com/tnqsoft/38aed9ee97d200bb899f61e68ebb2a9d\r\n@Directive({\r\n\tselector: 'img[thumbnail]'\r\n})\r\nexport class ThumbnailDirective implements OnChanges {\r\n\r\n\t@Input() public image: any;\r\n\r\n\tconstructor(private el: ElementRef) { }\r\n\r\n\tpublic ngOnChanges(changes: SimpleChanges) {\r\n\r\n\t\tlet reader = new FileReader();\r\n\t\tlet el = this.el;\r\n\r\n\t\treader.onloadend = (readerEvent) => {\r\n\t\t\tlet myimage = new Image();\r\n\t\t\tmyimage.onload = (imageEvent) => {\r\n\t\t\t\t// Resize the image\r\n\t\t\t\tlet canvas = document.createElement('canvas');\r\n\t\t\t\tlet maxSize = 70;\r\n\t\t\t\tlet width = myimage.width;\r\n\t\t\t\tlet height = myimage.height;\r\n\t\t\t\tif (width > height) {\r\n\t\t\t\t\tif (width > maxSize) {\r\n\t\t\t\t\t\theight *= maxSize / width;\r\n\t\t\t\t\t\twidth = maxSize;\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (height > maxSize) {\r\n\t\t\t\t\t\twidth *= maxSize / height;\r\n\t\t\t\t\t\theight = maxSize;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tcanvas.width = width;\r\n\t\t\t\tcanvas.height = height;\r\n\t\t\t\tcanvas.getContext('2d').drawImage(myimage, 0, 0, width, height);\r\n\t\t\t\tel.nativeElement.src = canvas.toDataURL('image/jpeg');\r\n\t\t\t};\r\n\t\t\tel.nativeElement.src = reader.result as string;\r\n\t\t};\r\n\r\n\t\tif (this.image) {\r\n\t\t\treturn reader.readAsDataURL(this.image);\r\n\t\t}\r\n\t}\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: \"yesBlank\" })\r\nexport class yesBlankPipe implements PipeTransform {\r\n transform(value: boolean, field: string): string {\r\n \r\n return value ? 'Yes' : '';\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({ name: \"yesNo\" })\r\nexport class yesNoPipe implements PipeTransform {\r\n transform(value: boolean, field: string): string {\r\n \r\n return value ? 'Yes' : 'No';\r\n }\r\n}\r\n","\r\n\r\nexport class ItemStorageChargeTypeEnum {\r\n \r\n\tstatic ReceivingFee: number = 10; \r\n\tstatic PullForDelivery: number = 13; \r\n\tstatic HandlingFee: number = 20; \r\n\tstatic WillCallFee: number = 30; \r\n\tstatic OversizeFee: number = 35; \r\n\tstatic RepairFee: number = 40; \r\n\tstatic SpecialStorageCharge: number = 50; \r\n\tstatic AssemblyFee: number = 60; \r\n\tstatic UnstackableFee: number = 70; \r\n\tstatic CratedOrPalletizedFee: number = 80; \r\n\tstatic InspectionFee: number = 90; \r\n\r\n\r\n\tstatic getChoices(): any[] {\r\n\t\treturn [\r\n\t\t{ \r\n\t\t\tValue: ItemStorageChargeTypeEnum.ReceivingFee, Text: 'Receiving Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.PullForDelivery, Text: 'Pull For Delivery'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.HandlingFee, Text: 'Handling Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.WillCallFee, Text: 'Will Call Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.OversizeFee, Text: 'Oversize Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.RepairFee, Text: 'Repair Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.SpecialStorageCharge, Text: 'Special Storage Charge'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.AssemblyFee, Text: 'Assembly Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.UnstackableFee, Text: 'Unstackable Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.CratedOrPalletizedFee, Text: 'Crated Or Palletized Fee'\r\n\t},{\r\n\t\t\tValue: ItemStorageChargeTypeEnum.InspectionFee, Text: 'Inspection Fee'\r\n\t}\r\n\t\t\t\r\n\t\t];\r\n\t}\r\n\r\n}\r\n","\r\n\r\nexport class PickupDeliveryItemActionEnum {\r\n \r\n\tstatic Assembly: number = 0; \r\n\tstatic Move: number = 1; \r\n\tstatic Remove: number = 2; \r\n\tstatic Overweight: number = 3; \r\n\tstatic FeltPad: number = 4; \r\n\r\n\r\n\tstatic getChoices(): any[] {\r\n\t\treturn [\r\n\t\t{\r\n\t\t\tValue: PickupDeliveryItemActionEnum.Assembly, Text: 'Assembly'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryItemActionEnum.Move, Text: 'Move'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryItemActionEnum.Remove, Text: 'Remove'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryItemActionEnum.Overweight, Text: 'Overweight'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryItemActionEnum.FeltPad, Text: 'Felt Pad'\r\n\t}\r\n\t\t\t\r\n\t\t];\r\n\t}\r\n\r\n}\r\n","\r\n\r\nexport class PickupDeliveryTypeEnum {\r\n \r\n\tstatic PickupDelivery: number = 0; \r\n\tstatic HourlyPickupDelivery: number = 5; \r\n\tstatic Move: number = 10; \r\n\tstatic Return: number = 20; \r\n\tstatic ServiceOnly: number = 30; \r\n\tstatic WillCall: number = 40; \r\n\r\n\r\n\tstatic getChoices(): any[] {\r\n\t\treturn [\r\n\t\t{\r\n\t\t\tValue: PickupDeliveryTypeEnum.PickupDelivery, Text: 'Pickup Delivery'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryTypeEnum.HourlyPickupDelivery, Text: 'Hourly Pickup Delivery'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryTypeEnum.Move, Text: 'Move'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryTypeEnum.Return, Text: 'Return'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryTypeEnum.ServiceOnly, Text: 'Service Only'\r\n\t},{\r\n\t\t\tValue: PickupDeliveryTypeEnum.WillCall, Text: 'Will Call'\r\n\t}\r\n\t\t\t\r\n\t\t];\r\n\t}\r\n\r\n}\r\n","\r\n\r\nexport class PropertyItemDocumentPurposeEnum {\r\n \r\n\tstatic Nothing: number = 0; \r\n\tstatic PrimaryImage: number = 1; \r\n\tstatic ReceivingImage: number = 2; \r\n\tstatic StorageImage: number = 4; \r\n\tstatic DamageImage: number = 8; \r\n\tstatic RepairImage: number = 16; \r\n\tstatic FinalPlacementImage: number = 32; \r\n\tstatic InspectionImage: number = 64; \r\n\tstatic SignatureImage: number = 262144; \r\n\tstatic DoorJambImage: number = 524288; \r\n\tstatic PickupImage: number = 1048576; \r\n\r\n\r\n\tstatic getChoices(): any[] {\r\n\t\treturn [\r\n\t\t{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.Nothing, Text: 'Nothing'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.PrimaryImage, Text: 'Primary Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.ReceivingImage, Text: 'Receiving Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.StorageImage, Text: 'Storage Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.DamageImage, Text: 'Damage Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.RepairImage, Text: 'Repair Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.FinalPlacementImage, Text: 'Final Placement Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.InspectionImage, Text: 'Inspection Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.SignatureImage, Text: 'Signature Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.DoorJambImage, Text: 'Door Jamb Image'\r\n\t},{\r\n\t\t\tValue: PropertyItemDocumentPurposeEnum.PickupImage, Text: 'Pickup Image'\r\n\t}\r\n\t\t\t\r\n\t\t];\r\n\t}\r\n\r\n}\r\n","import { HttpHeaders } from \"@angular/common/http\";\r\nimport { ItemStorageChargeTypeEnum } from \"./Interfaces/ItemStorageChargeTypeEnum\";\r\nimport { PickupDeliveryItemActionEnum } from \"./Interfaces/PickupDeliveryItemActionEnum\";\r\nimport { PropertyItemDocumentPurposeEnum } from \"./Interfaces/PropertyItemDocumentPurposeEnum\";\r\nimport { PickupDeliveryTypeEnum } from \"./Interfaces/PickupDeliveryTypeEnum\";\r\nimport { DateTime } from 'luxon';\r\nexport class PickupDeliveryItemActionEnumHelper {\r\n\r\n\tstatic getPublicChoices(): any[] {\r\n\t\tvar col = PickupDeliveryItemActionEnum.getChoices()\r\n\t\t\t.filter(a => !PickupDeliveryItemActionEnumHelper.IsPublicEntryForbidden(a.Value))\r\n\r\n\t\tcol.sort((a, b) => {\r\n\t\t\treturn a.Text == b.Text ? 0 : (a.Text > b.Text ? 1 : -1);\r\n\t\t})\r\n\t\treturn col;\r\n\t}\r\n\r\n\tstatic IsPublicEntryForbidden(val: number): boolean { //If this is updated, make sure to update the typescript version also\r\n\t\tswitch (val) {\r\n\t\t\tcase PickupDeliveryItemActionEnum.FeltPad:\r\n\t\t\t\treturn true;\r\n\t\t\tdefault:\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport class PickupDeliveryTypeEnumHelper {\r\n\r\n\r\n\tstatic IsSingleStop(serviceType: number) : boolean{\r\n\t\treturn PickupDeliveryTypeEnum.ServiceOnly == serviceType\r\n\t\t\t|| PickupDeliveryTypeEnum.WillCall == serviceType;\r\n\t}\r\n}\r\nexport class ItemStorageChargeTypeEnumHelper {\r\n\r\n\tstatic getPublicChoices(includeSystemPriced: boolean): any[] {\r\n\t\tvar col = ItemStorageChargeTypeEnum.getChoices()\r\n\t\t\t.filter(a => !ItemStorageChargeTypeEnumHelper.IsPublicEntryForbidden(a.Value))\r\n\r\n\t\tif (!includeSystemPriced) {\r\n\t\t\tcol = col.filter(a => !ItemStorageChargeTypeEnumHelper.isSystemPriced(a.Value));\r\n\t\t}\r\n\t\tcol.sort((a, b) => {\r\n\t\t\treturn a.Text == b.Text ? 0 : (a.Text > b.Text ? 1 : -1);\r\n\t\t})\r\n\t\treturn col;\r\n\t}\r\n\r\n\tstatic IsPublicEntryForbidden(val: number) : boolean { //If this is updated, make sure to update the typescript version also\r\n\t\tswitch (val) {\r\n\t\t\tcase ItemStorageChargeTypeEnum.UnstackableFee:\r\n\t\t\tcase ItemStorageChargeTypeEnum.WillCallFee:\r\n\t\t\t\treturn true;\r\n\t\t\tdefault:\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n\r\n\tstatic isSystemPriced(obj: number): boolean {\r\n\t\tif (!obj) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tswitch (obj) {\r\n\t\t\t//If this is updated, make sure to update the typescript version also\r\n\t\t\tcase ItemStorageChargeTypeEnum.PullForDelivery:\r\n\t\t\tcase ItemStorageChargeTypeEnum.OversizeFee:\r\n\t\t\tcase ItemStorageChargeTypeEnum.AssemblyFee:\r\n\t\t\tcase ItemStorageChargeTypeEnum.UnstackableFee:\r\n\t\t\tcase ItemStorageChargeTypeEnum.ReceivingFee:\r\n\t\t\tcase ItemStorageChargeTypeEnum.InspectionFee:\r\n\t\t\t\treturn true;\r\n\t\t\tdefault:\r\n\t\t\t\treturn false;\r\n\t\t}\r\n\t}\r\n}\r\n\r\nexport class PropertyItemDocumentPurposeEnumHelper {\r\n\r\n\tstatic getPropertyItemImages(includeNothing: boolean): any[] {\r\n\t\tvar col = PropertyItemDocumentPurposeEnum.getChoices()\r\n\t\t\t.filter(a => PropertyItemDocumentPurposeEnumHelper.IsPropertyItem(a.Value));\r\n\r\n\t\tif (!includeNothing) {\r\n\t\t\tcol = col.filter(a => a.Value != PropertyItemDocumentPurposeEnum.Nothing);\r\n\t\t}\r\n\r\n\t\tcol.sort((a, b) => {\r\n\t\t\tif (a.Value == PropertyItemDocumentPurposeEnum.Nothing || b.Value == PropertyItemDocumentPurposeEnum.Nothing) {\r\n\t\t\t\treturn a.Value == b.Value ? 0 : (a.Value > b.Value ? 1 : -1);\r\n\t\t\t}\r\n\t\t\treturn a.Text == b.Text ? 0 : (a.Text > b.Text ? 1 : -1);\r\n\t\t});\r\n\t\treturn col;\r\n\t}\r\n\r\n\tstatic getPickupDeliveryImages(): any[] {\r\n\t\tvar col = PropertyItemDocumentPurposeEnum.getChoices()\r\n\t\t\t.filter(a => PropertyItemDocumentPurposeEnumHelper.IsPickupDeliveryItem(a.Value))\r\n\t\t\t.filter(a => a.Value != PropertyItemDocumentPurposeEnum.Nothing);\r\n\r\n\t\tcol.sort((a, b) => {\r\n\t\t\treturn a.Text == b.Text ? 0 : (a.Text > b.Text ? 1 : -1);\r\n\t\t});\r\n\t\treturn col;\r\n\t}\r\n\r\n\tstatic IsPropertyItem(val: number): boolean { \r\n\t\treturn val < PropertyItemDocumentPurposeEnum.SignatureImage;\r\n\t}\r\n\r\n\tstatic IsPickupDeliveryItem(val: number): boolean {\r\n\t\treturn val >= PropertyItemDocumentPurposeEnum.SignatureImage;\r\n\t}\r\n}\r\n\r\nexport class PersonRoleEnum {\r\n\tstatic SUPERADMIN = \"SUPERADMIN\";\r\n\tstatic DEVELOPER = \"DEVELOPER\";\r\n\tstatic SYSTEMROLEEMPLOYEE = \"EMPLOYEE\";\r\n\tstatic SYSTEMROLECUSTOMERACCOUNT = \"CUSTOMERACCOUNT\";\r\n\tstatic SYSTEMROLEWAREHOUSECUSTOMERACCOUNT = \"WAREHOUSECUSTOMERACCOUNT\";\r\n\r\n\tstatic SYSTEMROLECUSTOMERMASTERPERSONACTIVE = \"CUSTOMERMASTERPERSONACTIVE\";\r\n\tstatic SYSTEMROLEMASTERCUSTOMERACCOUNT = \"MASTERCUSTOMERACCOUNT\";\r\n\r\n\tstatic ADMIN = \"ADMIN\";\r\n\tstatic DRIVER = \"DRIVER\";\r\n\tstatic DISPATCH = \"DISPATCH\";\r\n\tstatic TREASURY = \"TREASURY\";\r\n\tstatic WAREHOUSE = \"WAREHOUSE\";\r\n\r\n\tstatic SUPPORTPERSON = \"SUPPORTPERSON\";\r\n}\r\n\r\nexport interface BlobResponse {\r\n\tblob: Blob,\r\n\tfileName: string,\r\n\terror: string\r\n}\r\n\r\nexport interface ContentAndStatus {\r\n\tcontent: T,\r\n\tstatus: number,\r\n\theaders: HttpHeaders\r\n}\r\n\r\nexport class TypeMessageEnumLimits {\r\n\tstatic AllowCustomTemplateLimit: number = 10000;\r\n\tstatic AllowAccountToCustomizeTemplateLimit: number = 5000;\r\n}\r\n\r\nexport class BaseFilter {\r\n\ttype: string = '';\r\n\tcustomer: string = '';\r\n\tinclude: boolean = false;\r\n\r\n\tisStringMatch(haystack: string, needle: string) {\r\n\t\tif (haystack && needle) {\r\n\t\t\treturn haystack.toLowerCase().indexOf(needle.toLowerCase()) >= 0;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n}\r\n\r\nexport class PropertyFilter extends BaseFilter {\r\n\tdescription: string = '';\r\n\tneedsInspection?: boolean = null;\r\n\tneedsRepair?: boolean = null;\r\n\tdateStart: Date = null;\r\n\tdateFinish: Date = null;\r\n\r\n\tisPUDDescriptionMatch(item: TooBig4Car.Logic.PickupDeliveryItem): boolean {\r\n\t\tif (item) {\r\n\t\t\treturn this.isStringMatch(item.Description, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.Sidemark, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.DestinationRoom, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.Manufacturer, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.AccountNumber, this.description)\r\n\t\t\t\t|| ((item.PropNumber ?? 0) > 0 && this.isStringMatch(item.PropNumber.toString(), this.description))\r\n\t\t\t\t;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tisDescriptionMatch(item: TooBig4Car.Logic.PropertyItem): boolean {\r\n\t\tif (item) {\r\n\t\t\treturn this.isStringMatch(item.Description, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.Sidemark, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.DestinationRoom, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.Manufacturer, this.description)\r\n\t\t\t\t|| this.isStringMatch(item.AccountNumber, this.description)\r\n\t\t\t\t|| ((item.PropNumber ?? 0) > 0 && this.isStringMatch(item.PropNumber.toString(), this.description))\r\n\t\t\t\t;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tfilterPUDItems(items: TooBig4Car.Logic.PickupDeliveryItem[]): TooBig4Car.Logic.PickupDeliveryItem[] {\r\n\t\tvar col: TooBig4Car.Logic.PickupDeliveryItem[] = [];\r\n\t\tif (items) {\r\n\t\t\titems.forEach(item => {\r\n\t\t\t\tif (item) {\r\n\t\t\t\t\tvar isOk = true;\r\n\t\t\t\t\tif (this) {\r\n\t\t\t\t\t\tif (this.type) {\r\n\t\t\t\t\t\t\tisOk = isOk && this.isStringMatch(item.TypeName, this.type);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.description) {\r\n\t\t\t\t\t\t\tisOk = isOk && this.isPUDDescriptionMatch(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isOk) {\r\n\t\t\t\t\t\tcol.push(item);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn col;\r\n\t}\r\n\r\n\tfilterItems(items: TooBig4Car.Logic.PropertyItem[]): TooBig4Car.Logic.PropertyItem[] {\r\n\t\tvar col: TooBig4Car.Logic.PropertyItem[] = [];\r\n\t\tif (items) {\r\n\t\t\titems.forEach(item => {\r\n\t\t\t\tif (item) {\r\n\t\t\t\t\tvar isOk = true;\r\n\t\t\t\t\tif (this) {\r\n\t\t\t\t\t\tif (item.DateArrivedLocal) {\r\n\t\t\t\t\t\t\tvar arrivedLocal = DateTime.fromJSDate(new Date(item.DateArrivedLocal.toString().replace('Z', ''))).startOf('day');\r\n\t\t\t\t\t\t\tif (this.dateStart) {\r\n\t\t\t\t\t\t\t\tisOk = isOk && arrivedLocal >= DateTime.fromJSDate(new Date(this.dateStart)).startOf('day');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (this.dateFinish) {\r\n\t\t\t\t\t\t\t\tisOk = isOk && arrivedLocal <= DateTime.fromJSDate(new Date(this.dateFinish)).startOf('day');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.type) {\r\n\t\t\t\t\t\t\tisOk = isOk && this.isStringMatch(item.TypeName, this.type);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.description) {\r\n\t\t\t\t\t\t\tisOk = isOk && this.isDescriptionMatch(item);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.customer) {\r\n\t\t\t\t\t\t\tisOk = isOk && this.isStringMatch(item.CustomerAccountName, this.customer);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (null != this.needsInspection) {\r\n\t\t\t\t\t\t\tisOk = isOk && item.NeedsInspection == this.needsInspection;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (null != this.needsRepair) {\r\n\t\t\t\t\t\t\tisOk = isOk && item.NeedsRepair == this.needsRepair;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isOk) {\r\n\t\t\t\t\t\tcol.push(item);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn col;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Route, RouterStateSnapshot } from '@angular/router';\r\nimport { ConfigService } from '../Services/ConfigService';\r\n\r\n@Injectable()\r\nexport class RoleAuthGuard implements CanActivate, CanActivateChild {\r\n\r\n\tconstructor(public configData: ConfigService) { }\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\t\treturn this.roleDecide(route);\r\n\t}\r\n\r\n\tcanActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\t\treturn this.roleDecide(route);\r\n\t}\r\n\r\n\troleDecide(route: Route | ActivatedRouteSnapshot): boolean {\r\n\t\t\r\n\t\tvar allowedRoles: string[] = [];\r\n\t\tif (route?.data?.allowedRoles) {\r\n\t\t\tallowedRoles = route.data.allowedRoles;\r\n\t\t}\r\n\t\tif (!allowedRoles.length) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tfor (let role of allowedRoles) {\r\n\t\t\tif (this.configData.IsUserInRole(role)) {\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.configData.goHome();\r\n\t\treturn false;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, CanActivate, CanActivateChild, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate, CanActivateChild {\r\n\r\n\tconstructor(private router: Router, private authService: AuthService) { }\r\n\r\n\tcanLoad(): boolean {\r\n\t\treturn true;\r\n\t}\r\n\r\n\r\n\tcanActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\t\tif (this.authService.isAuthenticated()) { return true; }\r\n\t\tthis.authService.login();\r\n\t\treturn false;\r\n\t}\r\n\r\n\tcanActivateChild(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n\t\tif (this.authService.isAuthenticated()) { return true; }\r\n\t\tthis.authService.login();\r\n\t\treturn false;\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n\tHttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpHeaders, HttpErrorResponse\r\n} from '@angular/common/http';\r\n\r\nimport { Observable, firstValueFrom, from, lastValueFrom, map, mapTo, of, tap } from 'rxjs';\r\nimport { ConfigService } from '../Services/ConfigService';\r\nimport { Router } from '@angular/router';\r\nimport { AuthService } from './auth.service';\r\n\r\n/** Pass untouched request through to the next request handler. */\r\n@Injectable()\r\nexport class AuthInterceptor implements HttpInterceptor {\r\n\r\n\tconstructor(\r\n\t\tprivate _authService: AuthService,\r\n\t\tprivate _router: Router,\r\n\t\tprivate configData: ConfigService\r\n\t) {\r\n\r\n\t}\r\n\r\n\tauthRenew(): Observable {\r\n\t\tif (this._authService.isAuthedButExpired()) {\r\n\t\t\treturn from(this._authService.updateUserInfo()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\treturn this._authService.isAuthenticated()\r\n\t\t\t\t}));;\r\n\t\t} else {\r\n\t\t\treturn of(true);\r\n\t\t}\r\n\t}\r\n\tintercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\t\treturn from(this.innerIntercept(req, next));\r\n\t}\r\n\tasync innerIntercept(req: HttpRequest, next: HttpHandler): Promise> {\r\n\t\tif (req.url.startsWith(this.configData.apiBaseUrl())) {\r\n\t\t\tconst newheaders = this.getMyHeaders();\r\n\t\t\tconst authorizedRequest = req.clone({ headers: newheaders });\r\n\t\t\tvar isOk = await firstValueFrom(this.authRenew());\r\n\t\t\treturn lastValueFrom(next.handle(authorizedRequest)\r\n\t\t\t\t.pipe(\r\n\t\t\t\t\ttap(\r\n\t\t\t\t\t\t() => { },\r\n\t\t\t\t\t\terror => {\r\n\t\t\t\t\t\t\tvar respError = error as HttpErrorResponse;\r\n\t\t\t\t\t\t\tif (respError && respError.status == 401) {\r\n\t\t\t\t\t\t\t\tthis._authService.login();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t)\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\treturn lastValueFrom(next.handle(req));\r\n\t\t}\r\n\t}\r\n\r\n\tgetMyHeaders(): HttpHeaders {\r\n\r\n\t\tvar headers = new HttpHeaders({\r\n\t\t\t'Content-Type': 'application/json',\r\n\t\t\t'If-Modified-Since': 'Mon, 1 Jan 1990 00:00:00 GMT',\r\n\t\t\t'Cache-Control': 'no-cache',\r\n\t\t\t'Pragma': 'no-cache',\r\n\t\t\t'X-Requested-With': 'XMLHttpRequest'\r\n\t\t}); // ... Set content type to JSON\r\n\t\tif (!this.configData.IsEmptyGuid(this.configData.companyID)) {\r\n\t\t\theaders = headers.set(\"CompanyID\", this.configData.companyID.toString());\r\n\t\t}\r\n\r\n\t\tif (this.configData.isLoggedIn()) {\r\n\t\t\theaders = headers.set(\"Authorization\", `${this.configData.user.token_type} ${this.configData.user.access_token}`);\r\n\t\t}\r\n\t\treturn headers;\r\n\t}\r\n}\r\n","import { Injectable, ModuleWithProviders } from '@angular/core';\r\nimport { UserManager, UserManagerSettings } from 'oidc-client-ts';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { ConfigService } from '../Services/ConfigService';\r\nimport { AppModule } from '../app.module';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\t// Observable navItem source\r\n\tprivate _authNavStatusSource = new BehaviorSubject(false);\r\n\t// Observable navItem stream\r\n\tauthNavStatus$ = this._authNavStatusSource.asObservable();\r\n\r\n\tprivate manager: UserManager = null;\r\n\r\n\tneedsLogin: boolean = false;\r\n\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: AppModule,\r\n\t\t\tproviders: [\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService) {\r\n\t\tthis.manager = new UserManager(this.configData.jsAppConfig);\r\n\t\tthis.manager.getUser().then(usr => {\r\n\t\t\tthis.configData.user = usr;\r\n\t\t\tthis._authNavStatusSource.next(this.isAuthenticated());\r\n\t\t\tif (usr && usr.expired) {\r\n\t\t\t\tthis.updateUserInfo();\r\n\t\t\t}\r\n\t\t\tif (this.needsLogin) {\r\n\t\t\t\tthis.login();\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\t\r\n\r\n\r\n\tlogin(url?: string) {\r\n\t\tif (this.manager) {\r\n\t\t\tvar whereAreWe = url || window.location.href;\r\n\t\t\tthis.needsLogin = false;\r\n\t\t\treturn this.manager.signinRedirect({\r\n\t\t\t\textraQueryParams: {\r\n\t\t\t\t\tsc: this.configData.getSubDomain(whereAreWe),\r\n\t\t\t\t\treturnUrl: whereAreWe\r\n\t\t\t\t},\r\n\t\t\t\tstate: {\r\n\t\t\t\t\tredirectPath: whereAreWe\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.needsLogin = true;\r\n\t\t\treturn this.manager.clearStaleState();\r\n\t\t}\r\n\t}\r\n\r\n\tasync completeAuthentication(): Promise {\r\n\t\tthis.configData.user = await this.manager.signinRedirectCallback();\r\n\t\tthis._authNavStatusSource.next(this.isAuthenticated());\r\n\t\tvar state: any = this.configData?.user?.state;\r\n\t\tvar returnVal = state?.redirectPath || '';\r\n\t\tawait this.manager.clearStaleState();\r\n\t\treturn returnVal;\r\n\t}\r\n\r\n\tisAuthedButExpired(): boolean {\r\n\t\treturn this.configData.user != null && this.configData.user.expired;\r\n\t}\r\n\tisAuthenticated(): boolean {\r\n\t\treturn this.configData.user != null && !this.configData.user.expired;\r\n\t}\r\n\r\n\tclearUserInfo(): Promise {\r\n\t\tvar thisHolder = this;\r\n\t\tthisHolder.configData.user = null;\r\n\t\tif (thisHolder.manager) {\r\n\t\t\treturn thisHolder.manager.removeUser()\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\treturn thisHolder.updateUserInfo();\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\treturn Promise.resolve();\r\n\t\t}\r\n\t}\r\n\r\n\tupdateUserInfo(): Promise {\r\n\t\tvar thisHolder = this;\r\n\t\tif (thisHolder.manager) {\r\n\t\t\treturn thisHolder.manager.signinSilent().then(user => {\r\n\t\t\t\tthisHolder.configData.user = user;\r\n\t\t\t\tthisHolder._authNavStatusSource.next(thisHolder.isAuthenticated());\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn Promise.resolve();\r\n\t}\r\n\r\n\tget name(): string {\r\n\t\treturn this.configData.name();\r\n\t}\r\n\tsilentCallback(): Promise{\r\n\t\tvar thisHolder = this;\r\n\t\tif (thisHolder.manager) {\r\n\t\t\treturn this.manager.signinSilentCallback();\r\n\t\t}\r\n\t\treturn Promise.resolve();\r\n\t}\r\n\tasync signout() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (thisHolder.manager) {\r\n\t\t\tthis.manager.clearStaleState();\r\n\t\t\tawait this.manager.signoutRedirect();\r\n\t\t}\r\n\t}\r\n}\r\n","// parseUri 1.2.2\r\n// (c) Steven Levithan \r\n// MIT License\r\n\r\nexport function parseUri(str: string) {\r\n\tvar o = parseUri.options,\r\n\t\tm = o.parser[o.strictMode ? \"strict\" : \"loose\"].exec(str),\r\n\t\turi:any = {},\r\n\t\ti = 14;\r\n\r\n\twhile (i--) uri[o.key[i]] = m[i] || \"\";\r\n\r\n\turi[o.q.name] = {};\r\n\turi[o.key[12]].replace(o.q.parser, ($0: any, $1: any, $2:any) => {\r\n\t\tif ($1) uri[o.q.name][$1] = $2;\r\n\t});\r\n\r\n\treturn uri;\r\n};\r\n\r\nparseUri.options = {\r\n\tstrictMode: false,\r\n\tkey: [\"source\", \"protocol\", \"authority\", \"userInfo\", \"user\", \"password\", \"host\", \"port\", \"relative\", \"path\", \"directory\", \"file\", \"query\", \"anchor\"],\r\n\tq: {\r\n\t\tname: \"queryKey\",\r\n\t\tparser: /(?:^|&)([^&=]*)=?([^&]*)/g\r\n\t},\r\n\tparser: {\r\n\t\tstrict: /^(?:([^:\\/?#]+):)?(?:\\/\\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?))?((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,\r\n\t\tloose: /^(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?(?:\\/\\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:\\/?#]*)(?::(\\d*))?)(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))(?:\\?([^#]*))?(?:#(.*))?)/\r\n\t}\r\n};\r\n","//https://stackoverflow.com/questions/39409328/storing-injector-instance-for-use-in-components\r\nimport { Injector } from '@angular/core';\r\n\r\n/**\r\n * Allows for retrieving singletons using `AppInjector.get(MyService)` (whereas\r\n * `ReflectiveInjector.resolveAndCreate(MyService)` would create a new instance\r\n * of the service).\r\n */\r\nexport let AppInjector: Injector;\r\n\r\n/**\r\n * Helper to set the exported {@link AppInjector}, needed as ES6 modules export\r\n * immutable bindings (see http://2ality.com/2015/07/es6-module-exports.html) for \r\n * which trying to make changes after using `import {AppInjector}` would throw:\r\n * \"TS2539: Cannot assign to 'AppInjector' because it is not a variable\".\r\n */\r\nexport function setAppInjector(injector: Injector) {\r\n\tif (AppInjector) {\r\n\t\t// Should not happen\r\n\t\tconsole.error('Programming error: AppInjector was already set');\r\n\t}\r\n\telse {\r\n\t\tAppInjector = injector;\r\n\t}\r\n}","import { Input, OnDestroy } from '@angular/core';\r\nimport { NgbModal, NgbModalRef } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Subject } from 'rxjs';\r\nimport { PopUpBusyComponent } from '../Components/PopUps/PopUpBusyComponent';\r\nimport { AppInjector } from './AppInjector';\r\nimport { DialogService } from './DialogService';\r\n\r\nexport abstract class BaseBusyableComponent implements OnDestroy {\r\n\r\n\tprotected obsToCloseSubject = new Subject();\r\n\r\n\tprivate busymodalService: NgbModal\r\n\tprotected dialogService: DialogService;\r\n\r\n\tpublic downloadtoken: string = '';\r\n\tconstructor() {\r\n\t\tthis.busymodalService = AppInjector.get(NgbModal);\r\n\t\tthis.dialogService = AppInjector.get(DialogService);\r\n\t}\r\n\r\n\tmakeNameUnique() : string {\r\n\t\treturn Math.random().toString().replace('.', '');\r\n\t}\r\n\tngOnDestroy(): boolean {\r\n\t\tthis.busymodalService = null;;\r\n\t\tthis.dialogService = null;\r\n\t\tthis.hideBusyModal();\r\n\r\n\t\tthis.obsToCloseSubject.next(null);\r\n\t\tthis.obsToCloseSubject.complete();\r\n\r\n\t\treturn true;\r\n\t}\r\n\r\n\taddressToLatLngEvenInvalid(addr: TooBig4Car.Logic.Address): google.maps.LatLngLiteral {\r\n\t\tif (!addr || !addr.Latitude || !addr.Longitude) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar point: google.maps.LatLngLiteral = {\r\n\t\t\tlat: addr.Latitude,\r\n\t\t\tlng: addr.Longitude\r\n\t\t};\r\n\t\treturn point;\r\n\t}\r\n\r\n\taddressToLatLng(addr: TooBig4Car.Logic.Address): google.maps.LatLngLiteral {\r\n\t\tif (!addr || addr.IsLatLongInvalid) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this.addressToLatLngEvenInvalid(addr);\r\n\t}\r\n\r\n\tpublic hasBaseDropZoneOver = false;\r\n\tpublic fileOverBase(e: any): void {\r\n\t\tthis.hasBaseDropZoneOver = e;\r\n\t}\r\n\r\n\tfixPdfButtons() {\r\n\t\tif (document) {\r\n\t\t\tArray.from(document.querySelectorAll('ngx-extended-pdf-viewer button')).forEach(elem => {\r\n\t\t\t\telem.setAttribute('type', 'button');\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprotected getSavedSetting(settingName: string, pageName: string) {\r\n\t\tvar storeName = (pageName || '') + (settingName || '');\r\n\t\tif (storeName) {\r\n\t\t\tvar savedData = localStorage.getItem(storeName);\r\n\t\t\tif (savedData) {\r\n\t\t\t\treturn JSON.parse(savedData);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t\t\r\n\t}\r\n\r\n\tprotected setSavedSetting(settingName: string, pageName: string, obj: any) {\r\n\t\tvar storeName = (pageName || '') + (settingName || '');\r\n\t\tlocalStorage.setItem(storeName, JSON.stringify(obj));\r\n\t}\r\n\r\n\tgoBack() {\r\n\t\twindow.history.back();\r\n\t}\r\n\r\n\tonSort(newCriteria: TooBig4Car.Logic.SortCriteria) {\r\n\t\tthis.sortCriteria = newCriteria;\r\n\t}\r\n\r\n\t@Input()\r\n\tsortCriteria: TooBig4Car.Logic.SortCriteria;\r\n\r\n\tprivate _isSaving: boolean = false;\r\n\r\n\tprivate timer: any = null;\r\n\r\n\tget isSaving(): boolean {\r\n\t\treturn this._isSaving;\r\n\t}\r\n\r\n\tset isSaving(val: boolean) {\r\n\t\tif (this._isSaving != val) {\r\n\t\t\tthis._isSaving = val;\r\n\t\t\tif (val) {\r\n\t\t\t\tthis.startBusyTimer();\r\n\t\t\t} else {\r\n\t\t\t\t\r\n\t\t\t\tthis.hideBusyModal();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tcancelBusyOperation() {\r\n\t\tthis.hideBusyModal();\r\n\t}\r\n\tprivate busymodal: NgbModalRef = null;\r\n\tstartBusyTimer() {\r\n\t\tvar thisHolder = this;\r\n\t\tthisHolder.timer = setTimeout(function () {\r\n\t\t\tthisHolder.busymodal = thisHolder.busymodalService.open(PopUpBusyComponent);\r\n\t\t\tthisHolder.busymodal.result.then((result: boolean) => {\r\n\t\t\t\tif (result) {\r\n\t\t\t\t\tthisHolder.cancelBusyOperation();\r\n\t\t\t\t}\r\n\t\t\t}, (reason) => {\r\n\r\n\t\t\t});\r\n\t\t}, 1000);\r\n\t}\r\n\thideBusyModal() {\r\n\t\tclearTimeout(this.timer);\r\n\t\tif (this.busymodal) {\r\n\t\t\tthis.busymodal.close();\r\n\t\t}\r\n\t}\r\n\r\n\tgetErrorsFromResponse(error: any): string[] {\r\n\t\tvar errors = [];\r\n\t\tif (error.error) {\r\n\t\t\terror = error.error;\r\n\t\t}\r\n\t\tvar any = false;\r\n\t\tif (error) {\r\n\t\t\tif (error.errors) {\r\n\t\t\t\terror = error.errors;\r\n\t\t\t}\r\n\t\t\tif (typeof(error) != \"string\") {\r\n\t\t\t\tfor (var key in error) {\r\n\t\t\t\t\tif (error.hasOwnProperty(key)) {\r\n\t\t\t\t\t\terrors.push(error[key][0]);//list of error messages in an array\r\n\t\t\t\t\t\tany = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\terrors.push(error);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (!any) {\r\n\t\t\terrors.push('Error');\r\n\t\t}\r\n\t\treturn errors;\r\n\t}\r\n}\r\n","import { Location } from '@angular/common';\r\nimport { AbstractControl, NgForm } from '@angular/forms';\r\nimport { BaseBusyableComponent } from './BaseBusyableComponent';\r\n\r\ndeclare var tinyMCEConfig: any;\r\n\r\nexport abstract class BaseEditComponent extends BaseBusyableComponent {\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.editorConfig = tinyMCEConfig;\r\n\t}\r\n\r\n\tpublic editorConfig: any = {};\r\n\r\n\tvalidationErrors: string[] = [];\r\n\r\n\tshowValidationErrors(error: any, form: NgForm) {\r\n\t\tvar errors = this.getErrorsFromResponse(error);\r\n\t\tthis.validationErrors = errors;\r\n\t\tif (error.error) {\r\n\t\t\terror = error.error;\r\n\t\t}\r\n\t\tif (error.errors) {\r\n\t\t\terror = error.errors;\r\n\t\t}\r\n\t\tif (form) {\r\n\t\t\tif (error) {\r\n\t\t\t\tfor (var key in error) {\r\n\t\t\t\t\tif (error.hasOwnProperty(key)) {\r\n\t\t\t\t\t\tvar fieldName = key.substring(key.indexOf(\".\"));\r\n\t\t\t\t\t\tif (fieldName) {\r\n\t\t\t\t\t\t\tfor (var itemControlName in form.controls) {\r\n\t\t\t\t\t\t\t\tif (itemControlName.endsWith(fieldName)) {\r\n\t\t\t\t\t\t\t\t\tvar elem = form.controls[itemControlName];\r\n\t\t\t\t\t\t\t\t\tif (elem) {\r\n\t\t\t\t\t\t\t\t\t\telem.markAsTouched();\r\n\t\t\t\t\t\t\t\t\t\telem.setErrors({ 'custom': error[key][0] });\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t\tthis.isSaving = false;\r\n\t}\r\n\tcancelAfterSave(form: NgForm) {\r\n\t\tthis.cancel(form);\r\n\t}\r\n\tcancel(form: NgForm) {\r\n\t\tthis.isSaving = false;\r\n\t\tthis.validationErrors = [];\r\n\t\tif (form) {\r\n\t\t\tform.reset(form.value);\r\n\t\t}\r\n\t\tthis.goBack();\r\n\t}\r\n\r\n\tsetLiveCSS(elem: AbstractControl, property: string) {\r\n\t\telem.setErrors({ property: true });\r\n\t\t//var ctrl = $(property);\r\n\t\t//var setValidity = function () {\r\n\t\t//\telem.setErrors({ property: false });\r\n\t\t//\tctrl.off('blur', setValidity);\r\n\t\t//}\r\n\r\n\t\t//// check validity on field blur\r\n\t\t//var blurVariable = ctrl.on('blur', setValidity);\r\n\r\n\t\t//// set \"valid\" by default on typing\r\n\t\t//var keyupVariable = ctrl.bind('keyup', setValidity);\r\n\t}\r\n}\r\n\r\n\r\n","import { NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { BaseEditComponent } from './BaseEditComponent';\r\n\r\nexport abstract class BaseEditPopUpComponent extends BaseEditComponent {\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\t\r\n\t}\r\n\r\n\tprotected activeModal: NgbActiveModal;\r\n\t\r\n\tgoBack() {\r\n\t\tthis.closePopUp(null);\r\n\t}\r\n\r\n\tclosePopUp(obj: any) {\r\n\t\tthis.isSaving = false;\r\n\t\tif (this.activeModal) {\r\n\t\t\tthis.activeModal.close(obj);\r\n\t\t}\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport lbDate from 'lbdate';\r\nimport { from, NEVER, Observable, throwError } from 'rxjs';\r\nimport { catchError, debounceTime, map, tap } from 'rxjs/operators';\r\nimport { BlobResponse, ContentAndStatus } from '../Models/OtherClasses';\r\nimport { ConfigService } from \"./ConfigService\";\r\nimport { DialogService } from \"./DialogService\";\r\n\r\n@Injectable()\r\nexport class BaseService {\r\n\r\n\tgetDateStr(date: Date): string {\r\n\t\treturn this.configData.getDateStr(date);\r\n\r\n\t}\r\n\r\n\tconstructor(private _http: HttpClient,\r\n\t\tprivate modalService: DialogService,\r\n\t\tpublic configData: ConfigService) { }\r\n\r\n\tshowError(msg: string, hideErrorAlert: boolean) {\r\n\t\treturn (error: any, caught: any): Observable => {\r\n\t\t\tif (hideErrorAlert) {\r\n\t\t\t\treturn from(NEVER);\r\n\t\t\t}\r\n\t\t\tif (error) {\r\n\t\t\t\tif (error.status == 400) {\r\n\t\t\t\t} else if (error.status == 401) {\r\n\t\t\t\t\tthis.modalService.showLogInError();\r\n\t\t\t\t\terror = 'Sign In Needed';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tvar myErrorObj = error.error;\r\n\t\t\t\t\tif ((error.status != 400 && error.status != 404) || (myErrorObj && !myErrorObj.errors)) {\r\n\t\t\t\t\t\tif (myErrorObj && myErrorObj.Message) {\r\n\t\t\t\t\t\t\tif (myErrorObj.Message.indexOf(\"Failed:\") >= 0) {\r\n\t\t\t\t\t\t\t\t//don't do anything error as this should be handled by the model state displays\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tlet bodyMsg: string = \"\";\r\n\t\t\t\t\t\t\t\tif (myErrorObj.ExceptionMessage) {\r\n\t\t\t\t\t\t\t\t\tbodyMsg += myErrorObj.ExceptionMessage;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (myErrorObj.StackTrace) {\r\n\t\t\t\t\t\t\t\t\tbodyMsg += \"
\" + myErrorObj.StackTrace;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tif (bodyMsg) {\r\n\t\t\t\t\t\t\t\t\tbodyMsg = this.configData.TranslateWords.IfThisContinuesSendDevelopers +\r\n\t\t\t\t\t\t\t\t\t\t' :


' + bodyMsg;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tthis.modalService.error(myErrorObj.Message, bodyMsg);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tvar cache: any[] = [];\r\n\r\n\t\t\t\t\t\t\tthis.modalService.error(msg, this.configData.TranslateWords.IfThisContinuesSendDevelopers +\r\n\t\t\t\t\t\t\t\t' :


' + JSON.stringify(error, function (key, value) {\r\n\t\t\t\t\t\t\t\t\tif (typeof value === 'object' && value !== null) {\r\n\t\t\t\t\t\t\t\t\t\tif (cache.indexOf(value) !== -1) {\r\n\t\t\t\t\t\t\t\t\t\t\t// Circular reference found, discard key\r\n\t\t\t\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\t// Store value in our collection\r\n\t\t\t\t\t\t\t\t\t\tcache.push(value);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\treturn value;\r\n\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\tcache = null; // Enable garbage collection\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tthis.modalService.error(msg, '');\r\n\t\t\t}\r\n\t\t\treturn this.myThrowError(error);\r\n\t\t};\r\n\t}\r\n\r\n\tmyThrowError(error: any): Observable {\r\n\t\tif (error) {\r\n\t\t\treturn throwError(error);\r\n\t\t} else {\r\n\t\t\treturn throwError('Server error');\r\n\t\t}\r\n\t}\r\n\r\n\tloadAll(baseUrl: string): Observable {\r\n\t\treturn this.getPlain(baseUrl, this.configData.TranslateWords.FailedToLoadItems);\r\n\t}\r\n\r\n\tgetEdit(id: System.Guid, baseUrl: string): Observable {\r\n\t\treturn this.get(id, baseUrl + '/Edit');\r\n\t}\r\n\r\n\tget(id: System.Guid, baseUrl: string): Observable {\r\n\t\treturn this.getWithParams(id, baseUrl, \"\", false);\r\n\t}\r\n\r\n\tgetWOError(id: System.Guid, baseUrl: string): Observable {\r\n\t\treturn this.getWithParams(id, baseUrl, \"\", true);\r\n\t}\r\n\r\n\tgetWithParams(id: System.Guid, baseUrl: string, parameters: string, hideErrorAlert: boolean): Observable {\r\n\t\tid = id || this.configData.DefaultEmptyGuid;\r\n\t\treturn this.rawWithParams(id, baseUrl, parameters, hideErrorAlert);\r\n\t}\r\n\r\n\tgetPlain(url: string, errorMessage: string): Observable {\r\n\t\treturn this.getPlainErrorOption(url, errorMessage, false);\r\n\t}\r\n\tgetPlainErrorOption(url: string, errorMessage: string, hideErrorAlert: boolean): Observable {\r\n\t\treturn this.getPlainErrorOptionWithStatusCode(url, errorMessage, hideErrorAlert)\r\n\t\t\t.pipe(\r\n\t\t\t\tmap(resp => {\r\n\t\t\t\t\treturn resp.content;\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(this.showError(errorMessage, hideErrorAlert))\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetPlainErrorOptionWithStatusCode(url: string, errorMessage: string, hideErrorAlert: boolean): Observable> {\r\n\t\treturn this._http.get(url, { observe: \"response\" })\r\n\t\t\t.pipe(\r\n\t\t\t\ttap((res) => {\r\n\t\t\t\t\tif (res && res.headers) {\r\n\t\t\t\t\t\tvar version = res.headers.get(\"serverVersion\");\r\n\t\t\t\t\t\tif (version && this.configData.shouldShowVersionAlert(version)) {\r\n\t\t\t\t\t\t\tthis.modalService.message(this.configData.TranslateWords.NewVersion, 'Version');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tmap(res => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\theaders: res.headers,\r\n\t\t\t\t\t\tcontent: res.body,\r\n\t\t\t\t\t\tstatus: res.status,\r\n\t\t\t\t\t};\r\n\t\t\t\t})\r\n\t\t\t);\r\n\t}\r\n\r\n\trawWithParams(id: System.Guid, baseUrl: string, parameters: string, hideErrorAlert: boolean): Observable {\r\n\t\treturn this.getPlainErrorOption(baseUrl + '/' + id + parameters, this.configData.TranslateWords.FailedToReload, hideErrorAlert);\r\n\t}\r\n\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase, baseUrl: string): Observable {\r\n\t\treturn this.post(tempItem, baseUrl, true);\r\n\t}\r\n\r\n\tpostBlob(tempItem: any, baseUrl: string): Observable {\r\n\t\tlet bodyString = this.innerStringify(tempItem); // Stringify payload\r\n\r\n\t\treturn this._http.post(baseUrl, bodyString, { responseType: \"blob\", observe: \"response\" })\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.showError(this.configData.TranslateWords.Failed, false)),\r\n\t\t\t\tmap(res => {\r\n\t\t\t\t\tvar data = {\r\n\t\t\t\t\t\tblob: new Blob([res.body], { type: res.headers.get('Content-Type') }),\r\n\t\t\t\t\t\tfileName: this.getFileName(res.headers)\r\n\t\t\t\t\t} as BlobResponse;\r\n\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}),\r\n\t\t\t);\r\n\t}\r\n\tloadBlob(baseUrl: string): Observable {\r\n\r\n\t\treturn this._http.get(baseUrl, { responseType: \"blob\", observe: \"response\" })\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.showError(this.configData.TranslateWords.Failed, false)),\r\n\t\t\t\tmap(res => {\r\n\t\t\t\t\tvar data = {\r\n\t\t\t\t\t\tblob: new Blob([res.body], { type: res.headers.get('Content-Type') }),\r\n\t\t\t\t\t\tfileName: this.getFileName(res.headers)\r\n\t\t\t\t\t} as BlobResponse;\r\n\r\n\t\t\t\t\treturn data;\r\n\t\t\t\t}),\r\n\t\t\t);\r\n\t}\r\n\tloadBlobAndHeaders(baseUrl: string): Observable> {\r\n\r\n\t\treturn this._http.get(baseUrl, { responseType: \"blob\", observe: \"response\" })\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.showError(this.configData.TranslateWords.Failed, false)),\r\n\t\t\t\tmap(res => {\r\n\t\t\t\t\tvar data = {\r\n\t\t\t\t\t\tblob: new Blob([res.body], { type: res.headers.get('Content-Type') }),\r\n\t\t\t\t\t\tfileName: this.getFileName(res.headers)\r\n\t\t\t\t\t} as BlobResponse;\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\theaders: res.headers,\r\n\t\t\t\t\t\tcontent: data,\r\n\t\t\t\t\t\tstatus: res.status\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t\t);\r\n\t}\r\n\tgetFileName(headers: HttpHeaders): string {\r\n\t\tvar name = headers.get('File-Name');\r\n\t\tif (!name) {\r\n\t\t\tname = headers.get('content-disposition');\r\n\t\t\tif (name) {\r\n\t\t\t\tname = name.substring(name.indexOf(\"filename=\")).replace(\"filename=\", \"\");\r\n\t\t\t\tif (name.indexOf(\";\") >= 0) {\r\n\t\t\t\t\tname = name.substring(0, name.indexOf(\";\")).replace(\";\", \"\");\r\n\t\t\t\t}\r\n\t\t\t\tname = name.replace('\"', '').replace('\"', '');\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn name.trim();\r\n\t}\r\n\r\n\tinnerStringify(tempItem: any) {\r\n\t\tif (null != tempItem) {\r\n\t\t\treturn lbDate().run(() => {\r\n\t\t\t\treturn JSON.stringify(tempItem);\r\n\t\t\t});\r\n\t\t\t//JSON.stringify(tempItem, (key: string, value: any) => {\r\n\t\t\t//\tif (value instanceof Date) {\r\n\t\t\t//\t\treturn this.configData.innerDateReplaceToJSON(value);\r\n\t\t\t//\t} else {\r\n\t\t\t//\t\treturn value;\r\n\t\t\t//\t}\r\n\t\t\t//})\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n\tpost(tempItem: any, baseUrl: string, popUpError: boolean): Observable {\r\n\t\tlet bodyString = this.innerStringify(tempItem); // Stringify payload\r\n\t\tlet options = { reportProgress: true }; // Create a request option\r\n\r\n\t\treturn this._http.post(baseUrl, bodyString, options)\r\n\t\t\t.pipe(\r\n\t\t\t\tdebounceTime(200),\r\n\t\t\t\tcatchError(this.showError(this.configData.TranslateWords.Failed, !popUpError))\r\n\t\t\t);\r\n\t}\r\n\r\n\tpostWithStatusCode(tempItem: any, baseUrl: string, popUpError: boolean): Observable> {\r\n\t\tlet bodyString = this.innerStringify(tempItem); // Stringify payload\r\n\r\n\t\treturn this._http.post(baseUrl, bodyString, {\r\n\t\t\treportProgress: true,\r\n\t\t\tobserve: \"response\"\r\n\t\t})\r\n\t\t\t.pipe(\r\n\t\t\t\tdebounceTime(200),\r\n\t\t\t\tmap(res => {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\theaders: res.headers,\r\n\t\t\t\t\t\tcontent: res.body,\r\n\t\t\t\t\t\tstatus: res.status\r\n\t\t\t\t\t};\r\n\t\t\t\t}),\r\n\t\t\t\tcatchError(this.showError(this.configData.TranslateWords.Failed, !popUpError))\r\n\t\t\t);\r\n\t}\r\n\r\n\tdeleteItem(id: System.Guid, baseUrl: string): Observable {\r\n\t\treturn this.deleteWithParams(id, baseUrl, '');\r\n\t}\r\n\r\n\tdeleteWithParams(id: System.Guid, baseUrl: string, parameters: string): Observable {\r\n\t\treturn this._http.delete(baseUrl + '/' + id + parameters, {})\r\n\t\t\t.pipe(\r\n\t\t\t\tcatchError(this.showError(this.configData.TranslateWords.Failed, true))\r\n\t\t\t);\r\n\t}\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\n@Injectable()\r\nexport class BlobErrorHttpInterceptor implements HttpInterceptor {\r\n\tpublic intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n\t\treturn next.handle(req).pipe(\r\n\t\t\tcatchError(err => {\r\n\t\t\t\tif (err instanceof HttpErrorResponse && err.error instanceof Blob && err.error.type === \"application/json\") {\r\n\t\t\t\t\t// https://github.com/angular/angular/issues/19888\r\n\t\t\t\t\t// When request of type Blob, the error is also in Blob instead of object of the json data\r\n\t\t\t\t\treturn new Promise((resolve, reject) => {\r\n\t\t\t\t\t\tlet reader = new FileReader();\r\n\t\t\t\t\t\treader.onload = (e: Event) => {\r\n\t\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\t\tconst errmsg = JSON.parse((e.target).result);\r\n\t\t\t\t\t\t\t\treject(new HttpErrorResponse({\r\n\t\t\t\t\t\t\t\t\terror: errmsg,\r\n\t\t\t\t\t\t\t\t\theaders: err.headers,\r\n\t\t\t\t\t\t\t\t\tstatus: err.status,\r\n\t\t\t\t\t\t\t\t\tstatusText: err.statusText,\r\n\t\t\t\t\t\t\t\t\turl: err.url || undefined\r\n\t\t\t\t\t\t\t\t}));\r\n\t\t\t\t\t\t\t} catch (e) {\r\n\t\t\t\t\t\t\t\treject(err);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treader.onerror = (e) => {\r\n\t\t\t\t\t\t\treject(err);\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\treader.readAsText(err.error);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tthrow err;\r\n\t\t\t})\r\n\t\t);\r\n\t}\r\n}\r\n","import { Inject, Injectable, ModuleWithProviders, Renderer2 } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { DateTime, Duration, DurationObjectUnits, ToHumanDurationOptions } from 'luxon';\r\nimport { User, UserManagerSettings } from 'oidc-client-ts';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { PersonRoleEnum } from '../Models/OtherClasses';\r\nimport { parseUri } from '../RoutingAuth/parseUri';\r\nimport { AppModule } from '../app.module';\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root',\r\n})\r\nexport class ConfigService {\r\n\r\n\tpublic user: User | null;\r\n\r\n\tstatic forRoot(): ModuleWithProviders {\r\n\t\treturn {\r\n\t\t\tngModule: AppModule,\r\n\t\t\tproviders: [\r\n\t\t\t]\r\n\t\t};\r\n\t}\r\n\tconstructor(\r\n\t\t@Inject(\"myconfig\") private apiConfig: any,\r\n\t\t@Inject(\"BASE_URL\") public baseUrl: string,\r\n\r\n\t\tprivate myRouter: Router) {\r\n\t\tthis.AppConfig = apiConfig.AppConfig;\r\n\t\tthis.DefaultEmptyGuid = apiConfig.DefaultEmptyGuid;\r\n\t\tthis.TranslateWords = apiConfig.TranslateWords;\r\n\t\tthis.allTimeZones = apiConfig.allTimeZones;\r\n\t\tthis.gMapsApiKey = apiConfig.gMapsApiKey;\r\n\t\tthis.viewingAsRole = apiConfig.ViewingAsRole;\r\n\t\tthis.serverVersion = apiConfig.serverVersion;\r\n\t\tthis.jsAppConfig = apiConfig.jsAppConfig;\r\n\t}\r\n\r\n\r\n\tinnerDateReplaceToJSON(date: Date): string {\r\n\t\t//https://stackoverflow.com/questions/643782/how-to-check-whether-an-object-is-a-date\r\n\t\tif (date) {\r\n\t\t\tif (date instanceof Date) {\r\n\r\n\t\t\t\t//https://stackoverflow.com/questions/31096130/how-to-json-stringify-a-javascript-date-and-preserve-timezone\r\n\t\t\t\tvar timezoneOffsetInHours = -(date.getTimezoneOffset() / 60); //UTC minus local time\r\n\t\t\t\tif (timezoneOffsetInHours == 0) {\r\n\t\t\t\t\t//If it's a UTC date, let's return it as such\r\n\t\t\t\t\treturn date.toISOString();\r\n\t\t\t\t}\r\n\t\t\t\tvar sign = timezoneOffsetInHours >= 0 ? '+' : '-';\r\n\t\t\t\tvar leadingZero = (Math.abs(timezoneOffsetInHours) < 10) ? '0' : '';\r\n\r\n\t\t\t\t//It's a bit unfortunate that we need to construct a new Date instance \r\n\t\t\t\t//(we don't want _this_ Date instance to be modified)\r\n\t\t\t\tvar correctedDate = new Date(date.getFullYear(), date.getMonth(),\r\n\t\t\t\t\tdate.getDate(), date.getHours(), date.getMinutes(), date.getSeconds(),\r\n\t\t\t\t\tdate.getMilliseconds());\r\n\t\t\t\tcorrectedDate.setHours(date.getHours() + timezoneOffsetInHours);\r\n\t\t\t\tvar iso = correctedDate.toISOString().replace('Z', '');\r\n\r\n\t\t\t\treturn iso + sign + leadingZero + Math.abs(timezoneOffsetInHours).toString() + ':00';\r\n\t\t\t} else {\r\n\t\t\t\treturn Object.prototype.toString.call(date);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n\r\n\tniceTimeFormat(minutes: number): string {\r\n\t\tvar duration = Duration.fromObject({ minutes: minutes }).normalize()\r\n\t\t\t.shiftTo('days',\r\n\t\t\t\t'hours',\r\n\t\t\t\t'minutes');\r\n\t\t\r\n\t\tvar pieces = [\r\n\t\t\t[\"d\", duration.days],\r\n\t\t\t[\"h\", duration.hours],\r\n\t\t\t[\"m\", duration.minutes],\r\n\r\n\t\t].filter(a => parseInt(a[1].toString()) > 0)\r\n\t\t\t.map(a => a[1]+a[0].toString());\r\n\t\t\r\nreturn pieces.join(' ');\r\n\r\n\t\treturn duration.toHuman({ unitDisplay: 'short' } as ToHumanDurationOptions);\r\n\t}\r\n\r\n\tisSameDate(date1: Date, date2: Date): boolean {\r\n\t\treturn this.getDateStr(date1) == this.getDateStr(date2);\r\n\t}\r\n\r\n\tgetDateStr(date: Date): string {\r\n\t\tvar convertDate = new Date(date);\r\n\t\tvar dt = DateTime.fromJSDate(convertDate);\r\n\t\tif (date && date.toString().indexOf('Z') >= 0) {\r\n\t\t\tdt = dt.toUTC();\r\n\t\t}\r\n\t\treturn dt.toISODate();\r\n\r\n\t}\r\n\r\n\tprivate menuChangedManuallySubject = new Subject();\r\n\tmenuChangedManually() {\r\n\t\tthis.menuChangedManuallySubject.next({});\r\n\t}\r\n\twhenmenuChangedManually(): Observable {\r\n\t\treturn this.menuChangedManuallySubject.asObservable();\r\n\t}\r\n\r\n\tpublic apiBaseUrl() {\r\n\t\treturn this.baseUrl;\r\n\t}\r\n\tpublic goHome() {\r\n\t\tthis.myRouter.navigateByUrl(this.baseUrl);\r\n\t}\r\n\r\n\tblobToBase64(blob: Blob): Promise {\r\n\t\t//https://stackoverflow.com/questions/18650168/convert-blob-to-base64\r\n\t\tconst reader = new FileReader();\r\n\t\treader.readAsDataURL(blob);\r\n\t\treturn new Promise(resolve => {\r\n\t\t\treader.onloadend = () => resolve(reader.result.toString());\r\n\t\t});\r\n\t}\r\n\r\n\tpublic deepClone(src: any) {\r\n\t\t//return Object.assign({}, src);\r\n\r\n\t\t//https://saturncloud.io/blog/what-is-the-most-efficient-way-to-deep-clone-an-object-in-javascript/#method-3-recursive-function\r\n\t\t//https://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-deep-clone-an-object-in-javascript/25476365\r\n\t\tif (typeof src !== \"object\" || src === null) {\r\n\t\t\treturn src;\r\n\t\t}\r\n\r\n\r\n\t\t// Honor native/custom clone methods\r\n\t\tif (src.clone && toString.call(src.clone) == \"[object Function]\") {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\t// DOM elements\r\n\t\tif (src.nodeType && toString.call(src.cloneNode) == \"[object Function]\") {\r\n\t\t\treturn null;\r\n\t\t}\r\n\r\n\t\t// Date\r\n\t\tif (toString.call(src) == \"[object Date]\") {\r\n\t\t\treturn new Date(src.getTime());\r\n\t\t}\r\n\r\n\t\t// RegExp\r\n\t\tif (toString.call(src) == \"[object RegExp]\") {\r\n\t\t\treturn new RegExp(src);\r\n\t\t}\r\n\r\n\t\t// Function\r\n\t\tif (toString.call(src) == \"[object Function]\") {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tlet clone : any = Array.isArray(src) ? [] : {};\r\n\t\tvar invalidProperties = ['mapHolder','TruckMapPoints'];\r\n\t\tfor (let key in src) {\r\n\t\t\tif (invalidProperties.indexOf(key) < 0) {\r\n\t\t\t\tclone[key] = this.deepClone(src[key]);\r\n\t\t\t} else {\r\n\t\t\t\tclone[key] = null;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn clone;\r\n\t}\r\n\r\n\tpublic SortArray(myArray: any[], sortCriteria: TooBig4Car.Logic.SortCriteria) {\r\n\t\tif (!sortCriteria || !myArray || !myArray.length) {\r\n\t\t\treturn myArray;\r\n\t\t}\r\n\r\n\t\tvar cols: string[] = sortCriteria.sortColumn.split(',');\r\n\t\tvar directions: string[] = sortCriteria.sortDirection.split(',');\r\n\t\tvar dirLength = directions.length;\r\n\t\treturn myArray.sort((a, b) => {\r\n\r\n\t\t\tfor (var i = 0; i < cols.length; i++) {\r\n\t\t\t\tvar colName = cols[i].trim();\r\n\t\t\t\tvar firstCol: any = a[colName] ?? '';\r\n\t\t\t\tvar secondCol: any = b[colName] ?? '';\r\n\t\t\t\tvar direction = i + 1 <= dirLength ? directions[i] : directions[dirLength];\r\n\r\n\t\t\t\tvar stringChanged: boolean = false;\r\n\t\t\t\tif (typeof (firstCol) == \"string\") {\r\n\t\t\t\t\tif (!firstCol) {\r\n\t\t\t\t\t\tfirstCol = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfirstCol = firstCol.toLowerCase();\r\n\t\t\t\t\tstringChanged = true;\r\n\t\t\t\t}\r\n\t\t\t\tif (typeof (secondCol) == \"string\") {\r\n\t\t\t\t\tif (!secondCol) {\r\n\t\t\t\t\t\tsecondCol = '';\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsecondCol = secondCol.toLowerCase();\r\n\t\t\t\t\tstringChanged = true;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tif (!stringChanged) {\r\n\t\t\t\t\t//If we need to sort addresses\r\n\t\t\t\t\tif (firstCol && secondCol && typeof (firstCol) == \"object\" && typeof (secondCol) == \"object\") {\r\n\t\t\t\t\t\tif (firstCol.Address1) {\r\n\t\t\t\t\t\t\tvar stateCompare = this.sortValue(firstCol.State, secondCol.State, sortCriteria.sortDirection);\r\n\t\t\t\t\t\t\tif (stateCompare == 0) {\r\n\t\t\t\t\t\t\t\tvar cityCompare = this.sortValue(firstCol.City, secondCol.City, sortCriteria.sortDirection);\r\n\t\t\t\t\t\t\t\tif (cityCompare == 0) {\r\n\t\t\t\t\t\t\t\t\tvar addrCompare = this.sortValue(firstCol.Address1, secondCol.Address1, sortCriteria.sortDirection);\r\n\t\t\t\t\t\t\t\t\tif (addrCompare == 0) {\r\n\t\t\t\t\t\t\t\t\t\tvar addrCompare2 = this.sortValue(firstCol.Address2, secondCol.Address2, sortCriteria.sortDirection);\r\n\t\t\t\t\t\t\t\t\t\tif (addrCompare != 0) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn addrCompare2;\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\treturn addrCompare;\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\treturn cityCompare;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\treturn stateCompare;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (firstCol != secondCol) {\r\n\t\t\t\t\treturn this.sortValue(firstCol, secondCol, direction);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn 0;\r\n\t\t});\r\n\t}\r\n\r\n\tprivate sortValue(a: any, b: any, sortType: string): number {\r\n\t\tif (a == b) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tif (sortType === 'desc') {\r\n\t\t\treturn this.alphanum(b, a);\r\n\t\t} else {\r\n\t\t\treturn this.alphanum(a, b);\r\n\t\t}\r\n\r\n\t\t//if (sortType === 'desc') {\r\n\t\t//\treturn a < b ? 1 : -1;\r\n\t\t//} else {\r\n\t\t//\treturn a < b ? -1 : 1;\r\n\t\t//}\r\n\t}\r\n\r\n\tpublic getSubDomain(uri: string): string {\r\n\t\tvar pieces = parseUri(uri);\r\n\t\tvar host: string = (pieces['host'] || '');\r\n\t\tvar allChunks = host.split('.');\r\n\t\tif (allChunks && allChunks.length > 2) {\r\n\t\t\treturn allChunks[0];\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n\r\n\tpublic roundNumber(num: number, decimalDigits: number) {\r\n\t\tif (!isNaN(num) && decimalDigits > 0) {\r\n\t\t\tvar power = Math.pow(10, decimalDigits);\r\n\t\t\treturn Math.round(num * power) / power;\r\n\t\t}\r\n\t\treturn num;\r\n\t}\r\n\tprivate isNumber(char: string): boolean {\r\n\t\treturn !isNaN(parseFloat(char));\r\n\t}\r\n\r\n\tprivate isValidDate(date: any) {\r\n\t\tif (date) {\r\n\t\t\tvar a = new Date(date.toString().toUpperCase());\r\n\t\t\treturn Object.prototype.toString.call(a) === \"[object Date]\" && !isNaN(Number(a));\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tprivate alphanum(s1: any, s2: any): number {\r\n\t\tif (s1 == null) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\t\tif (s2 == null) {\r\n\t\t\treturn 0;\r\n\t\t}\r\n\r\n\t\tif (this.isValidDate(s1) && this.isValidDate(s2)) {\r\n\t\t\treturn s1 > s2 ? 1 : s1 < s2 ? -1 : 0;\r\n\t\t}\r\n\t\tif (this.isNumber(s1) && this.isNumber(s2)) {\r\n\t\t\treturn s1 - s2;\r\n\t\t}\r\n\t\tif (\"string\" != typeof (s1)) {\r\n\t\t\ts1 = s1.toString();\r\n\t\t}\r\n\t\tif (\"string\" != typeof (s2)) {\r\n\t\t\ts2 = s2.toString();\r\n\t\t}\r\n\t\tvar len1: number = s1.length;\r\n\t\tvar len2: number = s2.length;\r\n\t\tvar marker1: number = 0;\r\n\t\tvar marker2: number = 0;\r\n\r\n\t\t// Walk through two the strings with two markers.\r\n\t\twhile (marker1 < len1 && marker2 < len2) {\r\n\t\t\tvar ch1: string = s1[marker1];\r\n\t\t\tvar ch2: string = s2[marker2];\r\n\r\n\t\t\t// Some buffers we can build up characters in for each chunk.\r\n\t\t\tvar space1: string[] = [];\r\n\t\t\tvar loc1: number = 0;\r\n\t\t\tvar space2: string[] = [];\r\n\t\t\tvar loc2: number = 0;\r\n\r\n\t\t\t// Walk through all following characters that are digits or\r\n\t\t\t// characters in BOTH strings starting at the appropriate marker.\r\n\t\t\t// Collect char arrays.\r\n\t\t\tdo {\r\n\t\t\t\tspace1[loc1++] = ch1;\r\n\t\t\t\tmarker1++;\r\n\r\n\t\t\t\tif (marker1 < len1) {\r\n\t\t\t\t\tch1 = s1[marker1];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t} while (this.isNumber(ch1) == this.isNumber(space1[0]));\r\n\r\n\t\t\tdo {\r\n\t\t\t\tspace2[loc2++] = ch2;\r\n\t\t\t\tmarker2++;\r\n\r\n\t\t\t\tif (marker2 < len2) {\r\n\t\t\t\t\tch2 = s2[marker2];\r\n\t\t\t\t} else {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t} while (this.isNumber(ch2) == this.isNumber(space2[0]));\r\n\r\n\t\t\t// If we have collected numbers, compare them numerically.\r\n\t\t\t// Otherwise, if we have strings, compare them alphabetically.\r\n\t\t\tvar str1: string = space1.join('');\r\n\t\t\tvar str2: string = space2.join('');\r\n\r\n\t\t\tvar result: number;\r\n\r\n\t\t\tif (this.isNumber(space1[0]) && this.isNumber(space2[0])) {\r\n\t\t\t\tvar thisNumericChunk: number = parseInt(str1);\r\n\t\t\t\tvar thatNumericChunk: number = parseInt(str2);\r\n\t\t\t\tresult = thisNumericChunk == thatNumericChunk ? 0 : (thisNumericChunk > thatNumericChunk ? 1 : -1);\r\n\t\t\t} else {\r\n\t\t\t\tresult = str1 == str2 ? 0 : (str1 > str2 ? 1 : -1)\r\n\t\t\t}\r\n\r\n\t\t\tif (result != 0) {\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn len1 - len2;\r\n\t}\r\n\r\n\t//https://stackoverflow.com/questions/20156/is-there-an-easy-way-to-create-ordinals-in-c\r\n\tordinalNumber(num: number) {\r\n\t\tif (num <= 0) return num.toString();\r\n\r\n\t\tswitch (num % 100) {\r\n\t\t\tcase 11:\r\n\t\t\tcase 12:\r\n\t\t\tcase 13:\r\n\t\t\t\treturn num + \"th\";\r\n\t\t}\r\n\r\n\t\tswitch (num % 10) {\r\n\t\t\tcase 1:\r\n\t\t\t\treturn num + \"st\";\r\n\t\t\tcase 2:\r\n\t\t\t\treturn num + \"nd\";\r\n\t\t\tcase 3:\r\n\t\t\t\treturn num + \"rd\";\r\n\t\t\tdefault:\r\n\t\t\t\treturn num + \"th\";\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tdayName(date: DateTime) {\r\n\t\treturn date.weekdayLong;\r\n\t}\r\n\r\n\tordinalWeekDay(date: DateTime) {\r\n\t\tvar myVal: number = date.day;\r\n\t\tvar dayNum = date.daysInMonth;\r\n\t\tvar trackDate = DateTime.fromObject({ year: date.year, month: date.month, day: 1 });\r\n\t\tvar weekNumber: number = 1;\r\n\t\twhile (trackDate.day < dayNum) {\r\n\t\t\tif (trackDate.day == myVal) {\r\n\t\t\t\tweekNumber++;\r\n\t\t\t}\r\n\t\t\ttrackDate = trackDate.plus({ days: 1 });\r\n\t\t}\r\n\t\treturn this.ordinalNumber(weekNumber);\r\n\t}\r\n\r\n\tmonthName(date: DateTime) {\r\n\t\treturn date.monthLong;\r\n\t}\r\n\r\n\tpublic AddressToSingleLineWithoutWhiteSpace(address: TooBig4Car.Logic.Address): string {\r\n\t\tvar addrStr = '';\r\n\t\tif (address) {\r\n\t\t\taddrStr += address.Address1 ?? '';\r\n\t\t\tif (address.Address2) {\r\n\t\t\t\taddrStr += address.Address2;\r\n\t\t\t}\r\n\t\t\tif (address.City) {\r\n\t\t\t\taddrStr += address.City;\r\n\t\t\t}\r\n\t\t\tif (address.State) {\r\n\t\t\t\taddrStr += address.State;\r\n\t\t\t}\r\n\t\t\tif (address.ZipCode) {\r\n\t\t\t\taddrStr += address.ZipCode;\r\n\t\t\t}\r\n\t\t\taddrStr = addrStr.replace(/\\s+/g, '');\r\n\t\t}\r\n\t\treturn addrStr;\r\n\t}\r\n\r\n\tpublic IsSameAddress(addr1: TooBig4Car.Logic.Address, addr2: TooBig4Car.Logic.Address): boolean {\r\n\t\tif (addr1 && addr2) {\r\n\t\t\tif (addr1.Latitude && addr2.Latitude && addr1.Latitude == addr2.Latitude) {\r\n\t\t\t\tif (addr1.Longitude && addr2.Longitude && addr1.Longitude == addr2.Longitude) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar addr1Str = this.AddressToSingleLineWithoutWhiteSpace(addr1);\r\n\t\t\tvar addr2Str = this.AddressToSingleLineWithoutWhiteSpace(addr2);\r\n\t\t\tif (addr1Str && addr2Str) {\r\n\t\t\t\treturn addr1Str == addr2Str;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tpublic IsEmptyGuid(id: System.Guid) {\r\n\t\tif (id) {\r\n\t\t\tif (id != this.DefaultEmptyGuid) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n\r\n\tpublic getSavedSetting(settingName: string, pageName: string) {\r\n\t\tvar storeName = (pageName || '') + (settingName || '');\r\n\t\tif (storeName) {\r\n\t\t\tvar savedData = localStorage.getItem(storeName);\r\n\t\t\tif (savedData) {\r\n\t\t\t\treturn JSON.parse(savedData);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\r\n\t}\r\n\r\n\tpublic setSavedSetting(settingName: string, pageName: string, obj: any) {\r\n\t\tvar storeName = (pageName || '') + (settingName || '');\r\n\t\tlocalStorage.setItem(storeName, JSON.stringify(obj));\r\n\t}\r\n\r\n\tpublic name(): string {\r\n\t\treturn this?.user?.profile['given_name']?.toString();\r\n\t}\r\n\r\n\tpublic customerName(): string {\r\n\t\tif (this.isCustomerUser()) {\r\n\t\t\treturn this?.user?.profile['cust_name']?.toString();\r\n\t\t}\r\n\t\treturn '';\r\n\t}\r\n\r\n\tpublic isLoggedIn(): boolean {\r\n\t\treturn this.user?.access_token?.length > 0;\r\n\t}\r\n\tpublic isEmailConfirmed() {\r\n\t\tif (this.user && this.user.profile) {\r\n\t\t\treturn this.user.profile.EmailConfirmed;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tpublic userID() {\r\n\t\tif (this.user && this.user.profile) {\r\n\t\t\treturn this.user.profile.sub || this.DefaultEmptyGuid;\r\n\t\t}\r\n\t\treturn this.DefaultEmptyGuid;\r\n\t}\r\n\r\n\tpublic isSuperAdmin(): boolean {\r\n\t\treturn this.IsUserInRole(PersonRoleEnum.SUPERADMIN);\r\n\t}\r\n\tpublic isEmployee(): boolean {\r\n\t\treturn this.IsUserInRole(PersonRoleEnum.SYSTEMROLEEMPLOYEE)\r\n\t\t\t;\t\t\t;\r\n\t}\r\n\tpublic isMasterCustomer(): boolean {\r\n\t\treturn this.isCustomerUser()\r\n\t\t\t&& this.IsUserInRoleInternal(PersonRoleEnum.SYSTEMROLEMASTERCUSTOMERACCOUNT, false)\r\n\t\t\t;\r\n\t}\r\n\tpublic isSupportMode(): boolean {\r\n\t\treturn this.IsUserInRoleInternal(PersonRoleEnum.SYSTEMROLECUSTOMERACCOUNT, false)\r\n\t\t\t&& (\r\n\t\t\t\tthis.IsUserInRoleInternal(PersonRoleEnum.SUPPORTPERSON, false)\r\n\t\t\t\t||\r\n\t\t\t\tthis.IsUserInRoleInternal(PersonRoleEnum.SYSTEMROLECUSTOMERMASTERPERSONACTIVE, false)\r\n\t\t\t)\r\n\t\t\t;\r\n\t}\r\n\r\n\tpublic isCustomerUser(): boolean {\r\n\t\treturn this.IsUserInRoleInternal(PersonRoleEnum.SYSTEMROLECUSTOMERACCOUNT, false);\r\n\t}\r\n\r\n\tpublic isWarehouseCustomer(): boolean {\r\n\t\treturn this.isCustomerUser()\r\n\t\t\t&& this.IsUserInRoleInternal(PersonRoleEnum.SYSTEMROLEWAREHOUSECUSTOMERACCOUNT, false);\r\n\t}\r\n\tpublic customerID(): any {\r\n\t\tif (this.isCustomerUser()) {\r\n\t\t\tif (this.user && this.user.profile) {\r\n\t\t\t\treturn this.user.profile.cust_id || this.DefaultEmptyGuid;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn this.DefaultEmptyGuid;\r\n\t}\r\n\r\n\tprivate _companyID: System.Guid = '';\r\n\r\n\tprivate defaultCompanyID() {\r\n\t\tif (this.user && this.user.profile) {\r\n\t\t\treturn this.user.profile.CompanyID || this.DefaultEmptyGuid;\r\n\t\t}\r\n\t\treturn this.DefaultEmptyGuid;\r\n\t}\r\n\tpublic get companyID(): System.Guid {\r\n\t\tif (!this.IsEmptyGuid(this._companyID)) {\r\n\t\t\treturn this._companyID;\r\n\t\t}\r\n\t\treturn this.defaultCompanyID();\r\n\t}\r\n\tpublic set companyID(val: System.Guid) {\r\n\t\tthis._companyID = val;\r\n\t}\r\n\tpublic IsUserInRole(roleSystemCode: string) {\r\n\t\treturn this.IsUserInRoleInternal(roleSystemCode, true);\r\n\t}\r\n\tpublic IsUserInRoleInternal(roleSystemCode: string, includeSystemAdminCheck: boolean) {\r\n\t\tif (!this.user) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tvar roles = (this.user.profile['role'] || '').toString().split(',');\r\n\t\treturn roles.indexOf(roleSystemCode) >= 0\r\n\t\t\t||\r\n\t\t\t(includeSystemAdminCheck && roles.indexOf(PersonRoleEnum.SUPERADMIN) >= 0);\r\n\t}\r\n\r\n\tprivate static alreadyPoppedUp = false;\r\n\tpublic shouldShowVersionAlert(versionNum: string) {\r\n\t\tif (!ConfigService.alreadyPoppedUp && this.serverVersion != versionNum) {\r\n\t\t\tConfigService.alreadyPoppedUp = true;\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\treturn false;\r\n\t}\r\n\r\n\tpublic MakeTimeQS(): string {\r\n\t\treturn '?q=' + (new Date()).getSeconds();\r\n\t}\r\n\r\n\tpublic AppConfig: ConfigDict;\r\n\tpublic DefaultEmptyGuid: System.Guid;\r\n\tpublic allTimeZones: TimeZoneDict;\r\n\tpublic TranslateWords: TranslateWordsDict;\r\n\tpublic viewingAsRole: string;\r\n\tpublic gMapsApiKey: string;\r\n\tpublic serverVersion: string;\r\n\tpublic jsAppConfig: UserManagerSettings;\r\n\r\n}\r\n\r\n\r\ntype TranslateWordsDict = { [key: string]: any };\r\n\r\ntype ConfigDict = { [key: string]: any };\r\n\r\ntype TimeZoneDict = { [key: string]: any };\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class AgreementService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('Agreement');\r\n\t}\r\n\t\r\n\tloadAllForMaster(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/Master/' + id);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class AgreementMasterService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('AgreementMaster');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.AgreementMaster) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tpublish(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Publish/' + id, true);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class AppUserService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('AppUser');\r\n\t}\r\n\t\r\n\tloadAllForPerson(id: System.Guid) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForPerson/' + (id || ''));\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ChatMessageService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('ChatMessage');\r\n\t}\r\n\tgetUnreadDispatchCount(): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/DispatchUnreadCount', true);\r\n\t}\r\n\r\n\tloadAll(searchObj: TooBig4Car.Logic.SearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url +'/Search', true);\r\n\t}\r\n\tmarkRead(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/MarkRead/' + (id || \"\"), true);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ChatMessage): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n}\r\n\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class ChecklistService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('Checklist');\r\n\t}\r\n\t\r\n\tloadAllForCompany(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tloadAllMasters(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/Masters');\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.Checklist) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tcopy(tempItem: TooBig4Car.Logic.CopyChecklistVM): Observable {\r\n\t\tvar url: string = this.url + '/Copy';\r\n\t\treturn this.myBaseService.post(tempItem, url, true);\r\n\t}\r\n\r\n\tassign(tempItem: TooBig4Car.Logic.CopyChecklistVM): Observable {\r\n\t\tvar url: string = this.url + '/Assign';\r\n\t\treturn this.myBaseService.post(tempItem, url, true);\r\n\t}\r\n\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tdownload(id: System.Guid): Observable{\r\n\t\treturn this.myBaseService.postBlob(null,this.url + '/Export/' + id);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ChecklistTaskService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('ChecklistTask');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tloadAllForChecklist(id: System.Guid) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url +'/List/' + id);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ChecklistTask) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ChecklistTaskStatusChangeService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('ChecklistTaskStatusChange');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ChecklistTaskStatusChange) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CommunicationTemplateService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('CommunicationTemplate');\r\n\t}\r\n\tlist(custID: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/List/' + (custID ?? this.myBaseService.configData.DefaultEmptyGuid).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.CommunicationTemplate): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: number, custID: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getWithParams(id, this.url + '/Edit', '?customerID=' + (custID || this.myBaseService.configData.DefaultEmptyGuid), false);\r\n\t}\r\n\r\n\tgetTokens(id: number): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/AvailableTokens/' + (id ?? 0));\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CompanyService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Company');\r\n\t}\r\n\r\n\tloadAll(activeOnly: boolean): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?active=' + (activeOnly ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n\tgetOverallSettings(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/OverallSettings');\r\n\t}\r\n\tsaveOverallSettings(obj: TooBig4Car.Logic.BillingSettings): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/OverallSettings', true);\r\n\t}\r\n\tgetBT(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/BraintreeSettings');\r\n\t}\r\n\tsaveBT(obj: TooBig4Car.Logic.BraintreeSettings): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/BraintreeSettings', true);\r\n\t}\r\n\tgetTwilio(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/TwilioSettings');\r\n\t}\r\n\tsaveTwilio(obj: TooBig4Car.Logic.TwilioSettings): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/TwilioSettings', true);\r\n\t}\r\n}\r\n\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CompanyEmailService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('CompanyEmail');\r\n\t}\r\n\r\n\tloadAll(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.CompanyEmail): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CompanyEmailDomainService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('CompanyEmailDomain');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.CompanyEmailDomain) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tgetDNS(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/Setup');\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CompanyPhoneNumberService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('CompanyPhoneNumber');\r\n\t}\r\n\r\n\tloadAll(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsearchAreaCode(areaCode: string): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/Search/' + (areaCode));\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.CompanyPhoneNumber): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CompanyPromoCodeService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('CompanyPromoCode');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n\t\t\t\t","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class CustomerAccountService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('CustomerAccount');\r\n\t}\r\n\r\n\tDownloadRates(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id ?? '') + '/DownloadRates');\r\n\t}\r\n\r\n\r\n\tloadAll(active: boolean): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tloadAllForSource(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForSource/' + (id || ''));\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable { \r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search?onlyMaster=' + false.toString(), false);\r\n\t}\r\n\tsearchMaster(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search?onlyMaster=' + true.toString(), false);\r\n\t}\r\n\tgetOverallSettings(id: System.Guid, withNulls: boolean): Observable {\r\n\t\treturn this.myBaseService.getWithParams(id, this.url + '/OverallSettings','?withNulls=' + (withNulls ?? false).toString(), false);\r\n\t}\r\n\tsaveOverallSettings(obj: TooBig4Car.Logic.CustomerAccountOverallSettingsVM): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/OverallSettings', true);\r\n\t}\r\n\r\n\tgetDeliveryZones(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/DeliveryZones');\r\n\t}\r\n\tsaveDeliveryZones(obj: TooBig4Car.Logic.CustomerAccountDeliveryZonesVM): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/DeliveryZones', true);\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CustomerInvoiceService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('CustomerInvoice');\r\n\t}\r\n\r\n\tloadAllUnpaid(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tloadAllForCustomer(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForCustomer/' + (id || ''));\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tgetBreakdownReport(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url +'/' + (id ?? '') + '/Report');\r\n\t}\r\n\r\n\tinvoicePickupDelivery(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/ForPickupDelivery/' + (id || ''), true);\r\n\t}\r\n\tinvoiceCustomer(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/ForCustomer/' + (id || ''), true);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class CustomerInvoiceItemService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('CustomerInvoiceItem');\r\n\t}\r\n\r\n\tloadAllForInvoice(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForInvoice/' + (id || ''));\r\n\t}\r\n\tloadAllForCustomer(searchVM: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchVM, this.url + '/ForCustomer', true);\r\n\t}\r\n\t\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid,type:number): Observable {\r\n\t\treturn this.myBaseService.deleteWithParams(id, this.url, '?type=' + type.toString());\r\n\t}\r\n\tgetEdit(id: System.Guid, type: number): Observable {\r\n\t\treturn this.myBaseService.getWithParams(id, this.url + '/Edit', '?type=' + type.toString(), false);\r\n\t}\r\n\tsaveArbitrary(tempItem: TooBig4Car.Logic.CustomerInvoiceArbitraryItem): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url + '/ArbitraryItem');\r\n\t}\r\n\r\n\tgetArbitraryEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url + '/ArbitraryItem');\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class DeliveryZoneService {\r\n private url: string;\r\n\r\n constructor(\r\n private myBaseService: BaseService,\r\n private urlService: UrlService\r\n ) {\r\n this.url = urlService.getURL('DeliveryZone');\r\n }\r\n\r\n loadAll(): Observable {\r\n return this.myBaseService.loadAll(this.url);\r\n }\r\n loadAllForDeliveryZoneGroup(id: System.Guid): Observable {\r\n return this.myBaseService.loadAll(this.url + '/ForGroup/' + (id || ''));\r\n }\r\n\r\n save(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n return this.myBaseService.save(tempItem, this.url);\r\n }\r\n deleteItem(id: System.Guid): Observable {\r\n return this.myBaseService.deleteItem(id, this.url);\r\n }\r\n getEdit(id: System.Guid): Observable {\r\n return this.myBaseService.getEdit(id, this.url);\r\n }\r\n get(id: System.Guid): Observable {\r\n return this.myBaseService.get(id, this.url);\r\n }\r\n search(searchTerm: string): Observable {\r\n return this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n }\r\n}\r\n\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class DeliveryZoneGroupService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('DeliveryZoneGroup');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n\t\t\t\t","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class EndUserCommunicationTrackerService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('EndUserCommunicationTracker');\r\n\t}\r\n\r\n\tloadAllForShipment(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/Shipment/' + (id || ''));\r\n\t}\r\n\tloadContent(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getPlain(this.url + '/Content/' + (id || ''), 'Could not load content');\r\n\t}\r\n\tloadAllForPerson(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/Person/' + (id || ''));\r\n\t}\r\n\tloadAllForPickupDelivery(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/PickupDelivery/' + (id || ''));\r\n\t}\r\n\tresend(id: System.Guid, sms: boolean): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Reservation/' + (id || '') + '?sms=' + (sms || false).toString(), true);\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ImportFileTemplateService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('ImportFileTemplate');\r\n\t}\r\n\r\n\tloadAll(type: number): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?type=' + (type ?? 0));\r\n\t}\r\n\tgetColumnEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/EditColumns');\r\n\t}\r\n\tsaveColumn(tempItem: TooBig4Car.Logic.FileTemplateListColumnMapperVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/EditColumns', true);\r\n\t}\r\n\tgetPropertyColumnEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/EditPropertyColumns');\r\n\t}\r\n\tsavePropertyColumn(tempItem: TooBig4Car.Logic.FileTemplateListColumnMapperVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/EditPropertyColumns', true);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { Guid } from 'guid-typescript';\r\n\r\n@Injectable()\r\nexport class LogService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Log');\r\n\t}\r\n\r\n\tforWholeOrder(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url +'/'+ (id ??'') + '/WholeLog');\r\n\t}\r\n\t\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from \"rxjs\";\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class OutsideLogService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('OutsideLog');\r\n\t}\r\n\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/Search', false);\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ContentAndStatus } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PaymentService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Payment');\r\n\t}\r\n\r\n\tgetAnonToken(): Observable {\r\n\r\n\t\treturn this.myBaseService.getPlain(this.url + '/AnonToken', 'Failed to get token');\r\n\t}\r\n\r\n\tgetPublicData(id: System.Guid): Observable> {\r\n\t\treturn this.myBaseService.getPlainErrorOptionWithStatusCode(this.url + '/PublicOwed/' + (id || ''), 'Failed to get pricing data', true);\r\n\t}\r\n\tgetPublicDataForVM(vm: TooBig4Car.Logic.ReservationQuestionaireVM): Observable {\r\n\t\treturn this.myBaseService.post(vm, this.url + '/ReservationPricingInfo', false);\r\n\t}\r\n\tgetCustomerToken(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getPlain(this.url + '/CustomerTokenForCustomer/' + (id || ''), 'Failed to get token');\r\n\t}\r\n\tconfirmPaymentNonce(custid: System.Guid, nonce: string): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/ConfirmToken/' + (custid || '') + '/' + (nonce || ''), true);\r\n\t}\r\n\trunPublicPayment(nonce: string, payment: TooBig4Car.Logic.PublicPaymentInfoVM): Observable {\r\n\t\treturn this.myBaseService.post(payment, this.url + '/RunPublicPayment/' + (nonce || ''), true);\r\n\t}\r\n\trunPayment(nonce: string, payment: TooBig4Car.Logic.Payment): Observable {\r\n\t\treturn this.myBaseService.save(payment, this.url + '/RunPayment/' + (nonce || ''));\r\n\t}\r\n\r\n\tloadAll(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PersonService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('Person');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tloadAllForCustomer(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForCustomer/' + (id || ''));\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid, customerID: System.Guid): Observable {\r\n\t\tvar qs = '';\r\n\t\tif (!this.myBaseService.configData.IsEmptyGuid(customerID)) {\r\n\t\t\tqs = \"?customerID=\" + customerID;\r\n\t\t}\r\n\t\treturn this.myBaseService.getWithParams(id, this.url+'/Edit', qs, false);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsendResetPassword(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/ResetPassword/' + (id || ''), false);\r\n\t}\r\n\r\n\taddSupportMode(customerID: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/AddSupportMode/' + (customerID || ''), false);\r\n\t}\r\n\tremoveSupportMode(): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/RemoveSupportMode', false);\r\n\t}\r\n}\t\t\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { BlobResponse, ContentAndStatus } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class PhoneAppService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('PhoneApp');\r\n\t}\r\n\r\n\tgetInstructions(lang: number): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/AppInstructions/' + (lang || 0));\r\n\t}\r\n\tsendInstructions(lang: number): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/AppInstructions/' + (lang || 0), true);\r\n\t}\r\n\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PickupDeliveryService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('PickupDelivery');\r\n\t}\r\n\tloadScheduleErrors(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/PossibleScheduleErrors');\r\n\t}\r\n\tloadWillCall(searchObj: TooBig4Car.Logic.SearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/WillCall', true);\r\n\t}\r\n\tloadAllMissingReservationData(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/MissingReservationData');\r\n\t}\r\n\r\n\tloadAllInvalidAddresses(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/InvalidAddresses');\r\n\t}\r\n\tloadAllForUploadedFile(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForUploadedFile/' + (id ?? ''));\r\n\t}\r\n\tloadAllNeedsRescheduling(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/NeedsRescheduling');\r\n\t}\r\n\tloadAllUnscheduled(searchVM: TooBig4Car.Logic.SearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchVM, this.url + '/Unscheduled', true);\r\n\t}\r\n\r\n\tgetOrderSettings(custid: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/OrderSettings/' + (custid || ''));\r\n\t}\r\n\r\n\tloadAllForCustomer(custid: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForCustomer/' + (custid || ''));\r\n\t}\r\n\r\n\tloadAll(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\r\n\tsave(tempItem: TooBig4Car.Logic.CombinedPickupDelivery): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url, true);\r\n\t}\r\n\r\n\tsaveItems(tempItem: TooBig4Car.Logic.CombinedPickupDelivery): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/SaveItems', true);\r\n\t}\r\n\r\n\tbulkAction(obj: TooBig4Car.Logic.PickupDeliveryBulkActionVM): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/Bulk', true);\r\n\t}\r\n\tcancelItem(id: System.Guid, cancelObj: TooBig4Car.Logic.PickupDeliveryCancellationVM): Observable {\r\n\t\treturn this.myBaseService.post(cancelObj, this.url + '/Cancel/' + (id ||''), true);\r\n\t}\r\n\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tgetEditItems(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url+'/EditItems');\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tgetPickList(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id || '') + '/PickList');\r\n\t}\r\n\tgetPickListForDate(date: Date, addFees: boolean, includePickup: boolean, includeWillCall: boolean): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url\r\n\t\t\t+ '/PickListForDate?date=' + this.myBaseService.getDateStr(date)\r\n\t\t\t+ '&includePickupLabels=' + (includePickup ?? false).toString()\r\n\t\t\t+ '&addFees=' + (addFees ?? false).toString()\r\n\t\t\t+ '&includeWillCall=' + (includeWillCall ?? false).toString()\r\n\t\t);\r\n\t}\r\n\r\n\t\r\n\tgetQRCode(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id || '') + '/QR');\r\n\t}\r\n\r\n\tgetSignImageText(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/' + (id || '') + '/SignatureText');\r\n\t}\r\n\tgetSign(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/Sign');\r\n\t}\r\n\tsign(tempItem: TooBig4Car.Logic.SignatureVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/Sign', true);\r\n\t}\r\n\r\n\tgetAnonEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getPlain(this.url + '/AnonEdit', 'Failed to Load');\r\n\t}\r\n\tsaveAnon(tempItem: TooBig4Car.Logic.SignatureVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/AnonEdit', true);\r\n\t}\r\n\r\n\tgetScheduleEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/ScheduleEdit');\r\n\t}\r\n\tsaveSchedule(tempItem: TooBig4Car.Logic.PickupDeliveryScheduleVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/ScheduleEdit', true);\r\n\t}\r\n\treject(tempItem: TooBig4Car.Logic.PickupDeliveryRejectVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/Reject', true);\r\n\t}\r\n\tpickup(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Pickup/' + (id || ''), true);\r\n\t}\r\n\tdeliver(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Deliver/' + (id || ''), true);\r\n\t}\r\n\tstartPickup(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/PickupStart/' + (id || ''), true);\r\n\t}\r\n\tstartDeliver(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/DeliverStart/' + (id || ''), true);\r\n\t}\r\n\t\r\n\tlabelSearch(searchObj: TooBig4Car.Logic.SearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/LabelSearch');\r\n\t}\r\n\tsearch(searchObj: TooBig4Car.Logic.SearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/Search', true);\r\n\t}\r\n\tsearchForSuveys(searchObj: TooBig4Car.Logic.SearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/SearchForSurveys', true);\r\n\t}\r\n\r\n\tgetPricingData(obj: TooBig4Car.Logic.CombinedPickupDelivery): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/PricingInfo', true);\r\n\t}\r\n\tgetPricingDataByID(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/PricingInfo/' + (id || ''), true);\r\n\t}\r\n\tgetPricingDataForItems(obj: TooBig4Car.Logic.CombinedPickupDelivery): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/ItemsPricingInfo', true);\r\n\t}\r\n\tmanualComplete(obj: TooBig4Car.Logic.ManualOrderCompletionVM): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/ManualComplete', true);\r\n\t}\r\n \r\n\tmarkCancellationHandled(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/MarkCancellationHandled/' + (id || ''), true);\r\n\t}\r\n\tfixAddress(obj: TooBig4Car.Logic.AddressFixVM): Observable {\r\n\t\treturn this.myBaseService.post(obj, this.url + '/FixAddress', true);\r\n\t}\r\n}\r\n\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PickupDeliveryExtraFeeService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('PickupDeliveryExtraFee');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.PickupDeliveryExtraFee) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PickupDeliverySpecialItemService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('PickupDeliverySpecialItem');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PropertyItemService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('PropertyItem');\r\n\t}\r\n\tloadAllStored(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tloadHistoryForItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/HistoryForItem/' + (id ?? ''));\r\n\t}\r\n\tloadForShipment(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForShipment/' + (id ?? ''));\r\n\t}\r\n\tloadAllForSpace(spaceID: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForSpace/' + (spaceID || ''));\r\n\t}\r\n\tloadAllNeedingInspection(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url+'/NeedsInspection');\r\n\t}\r\n\tloadAllNeedingRepair(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/NeedsRepair');\r\n\t}\r\n\tloadAllNeedingStorage(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/NeedsStorage');\r\n\t}\r\n\tloadStoredForCustomer(custID: System.Guid, includeAll: boolean): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForCustomer/' + (custID || '') + '?includeAll=' + (includeAll ?? false).toString());\r\n\t}\r\n\tunstore(tempItem: TooBig4Car.Logic.PropertyItemArbitraryDeliveryVM): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url + '/Unstore');\r\n\t}\r\n\tchangeCustomer(searchObj: TooBig4Car.Logic.PropertyItemCustomerChangeVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/ChangeCustomer', true);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.PropertyItem) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tsaveCustomerFields(tempItem: TooBig4Car.Logic.PropertyItemCustomerVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/Customer/', true);\r\n\t}\r\n\tsaveSpecialItem(tempItem: TooBig4Car.Logic.PropertyItemSpecialItem): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url + '/SpecialItem');\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tgetEditCustomer(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/EditCustomer');\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tgetStorageLabel(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id ?? '') + '/StorageLabel');\r\n\t}\r\n\tgetShipmentBOLLabel(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id ?? '') + '/ShipmentStorageLabels');\r\n\t}\r\n\tgetQRCode(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id ?? '') + '/QR');\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n\tmove(moveObj: TooBig4Car.Logic.PropertyItemMoveVM): Observable {\r\n\t\treturn this.myBaseService.post(moveObj, this.url + '/Move', false);\r\n\t}\r\n\tmoveBulk(moveObj: TooBig4Car.Logic.PropertyItemMoveBulkVM): Observable {\r\n\t\treturn this.myBaseService.post(moveObj, this.url + '/MoveBulk', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse, ContentAndStatus } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PropertyItemDocumentService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('PropertyItemDocument');\r\n\t}\r\n\tloadAllForTask(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForChecklistTask/' + (id || ''));\r\n\t}\r\n\tloadAllForItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForItem/' + (id || ''));\r\n\t}\r\n\tloadAllForPickupDelivery(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForPickupDelivery/' + (id || ''));\r\n\t}\r\n\tloadAllForPickupDeliveryItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForPickupDeliveryItem/' + (id || ''));\r\n\t}\r\n\tloadAllForInspection(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForInspection/' + (id || ''));\r\n\t}\r\n\tloadAllForTypePropertyItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForType/' + (id || ''));\r\n\t}\r\n\ttogglePurpose(id: System.Guid, vals: number[]): Observable {\r\n\t\treturn this.myBaseService.post(vals, this.url + '/TogglePurpose/' + (id || ''), true);\r\n\t}\r\n\trotate(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Rotate/' + (id || ''), true);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tdownloadDoc(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/Content/' + id);\r\n\t}\r\n\tdownloadThumb(id: System.Guid, qs: string): Observable {\r\n\t\tvar iUrl = this.url + '/ThumbContent/' + id;\r\n\t\tif (qs) {\r\n\t\t\tiUrl += '?qs=' + qs;\r\n\t\t}\r\n\t\treturn this.myBaseService.loadBlob(iUrl);\r\n\t}\r\n\r\n\t\r\n\tdownloadThumbForTypePropertyItem(id: System.Guid): Observable> {\r\n\t\treturn this.myBaseService.loadBlobAndHeaders(this.url + '/ThumbForType/' + id);\r\n\t}\r\n\tdownloadThumbForPropertyItem(id: System.Guid): Observable> {\r\n\t\treturn this.myBaseService.loadBlobAndHeaders(this.url + '/ThumbForItem/' + id);\r\n\t}\r\n\tdownloadThumbForPickupDeliveryItem(id: System.Guid): Observable> {\r\n\t\treturn this.myBaseService.loadBlobAndHeaders(this.url + '/ThumbForPDItem/' + id);\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PropertyItemInspectionService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('PropertyItemInspection');\r\n\t}\r\n\r\n\tloadNeedingApproval(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/NeedApproval');\r\n\t}\r\n\tapprove(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Approve/' + (id ?? ''), true);\r\n\t}\r\n\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.PropertyItemInspection): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\r\n}\r\n\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PropertyItemNoteService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('PropertyItemNote');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.PropertyItemNote) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t \t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class PropertyItemSpecialItemService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('PropertyItemSpecialItem');\r\n\t}\r\n\t\r\n\tloadAll(date: Date) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?date=' + this.myBaseService.getDateStr(date));\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.PropertyItemSpecialItem) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ContentAndStatus } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class QBService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('QB');\r\n\t}\r\n\t\r\n\tconnect(): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Connect', true);\r\n\t}\r\n\r\n\tdisconnect(): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Disconnect', true);\r\n\t}\r\n\r\n\tauth(id: System.Guid, code:string , error:string, realmId:string) : Observable {\r\n\t\tvar urlStr = this.url + '/Auth?';\r\n\t\turlStr += '&id=' + (id || '');\r\n\t\turlStr += '&code=' + (code || '');\r\n\t\turlStr += '&realmId=' + (realmId || '');\r\n\t\turlStr += '&error=' + (error || '');\r\n\t\treturn this.myBaseService.post(null, urlStr, true);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ReferralSourceService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('ReferralSource');\r\n\t}\r\n\t\r\n\tloadAll(active: boolean): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { Observable } from \"rxjs\";\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ReportsService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Reports');\r\n\t}\r\n\r\n\tDriverExport(date: Date): Observable {\r\n\t\tvar convertDate = new Date(date);\r\n\t\treturn this.myBaseService.postBlob(null, this.url + '/DownloadDriver?date=' + DateTime.fromJSDate(convertDate).toISO() + '&csv=false');\r\n\t}\r\n\r\n\tDriverExportCSV(date: Date): Observable {\r\n\t\tvar convertDate = new Date(date);\r\n\t\treturn this.myBaseService.postBlob(null, this.url + '/DownloadDriver?date=' + DateTime.fromJSDate(convertDate).toISO() + '&csv=true');\r\n\t}\r\n\tPropertyTypeDownload(custID: System.Guid): Observable {\r\n\t\treturn this.myBaseService.postBlob(null, this.url + '/PropTypes/' + (custID ||'').toString());\r\n\t}\r\n\tValuePerTruck(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/ValuePerTruck');\r\n\t}\r\n\r\n\tValuePerPerson(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/ValuePerPerson');\r\n\t}\r\n\r\n\tValuePerOrder(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/ValuePerOrder');\r\n\t}\r\n\r\n\tInvoicedPerServiceType(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/InvoicedPerServiceType');\r\n\t}\r\n\r\n\tStopsPerDay(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/StopsPerDay');\r\n\t}\r\n\tBusinessActivity(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/BusinessActivity');\r\n\t}\r\n\r\n\tDeliveriesAssemblies(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/DeliveriesAssemblies');\r\n\t}\r\n\r\n\tWarehouseStorage(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/WarehouseStorage?download=false', true);\r\n\t}\r\n\tWarehouseStorageDownload(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/WarehouseStorage?download=true');\r\n\t}\r\n\r\n\tWarehouseActivity(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/WarehouseActivity?download=false', true);\r\n\t}\r\n\tWarehouseActivityDownload(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/WarehouseActivity?download=true');\r\n\t}\r\n\r\n\tStorageRevenue(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/StorageRevenue?download=false', true);\r\n\t}\r\n\tStorageRevenueDownload(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/StorageRevenue?download=true');\r\n\t}\r\n\tDeliveryActivity(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/DeliveryActivity?download=false', true);\r\n\t}\r\n\tDeliveryActivityDownload(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/DeliveryActivity?download=true');\r\n\t}\r\n\r\n\tFeltPads(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/FeltPads?download=false', true);\r\n\t}\r\n\tFeltPadsDownload(searchObj: TooBig4Car.Logic.DateSearchVM): Observable {\r\n\t\treturn this.myBaseService.postBlob(searchObj, this.url + '/FeltPads?download=true');\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { Observable } from 'rxjs';\r\nimport { ContentAndStatus } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ReservationService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Reservation');\r\n\t}\r\n\r\n\tgetSuggestedDates(id: System.Guid, isDelivery: boolean, after: Date): Observable {\r\n\t\tvar urlToUse = this.url + '/' + (id || '') + '/DateSuggestions'\r\n\t\t\t+ '?isDelivery=' + (isDelivery || false).toString();\r\n\t\tif (after) {\r\n\t\t\turlToUse += '&after=' + DateTime.fromJSDate(after).toISO();\r\n\t\t}\r\n\t\treturn this.myBaseService.loadAll(urlToUse);\r\n\t}\r\n\r\n\tget(id: string): Observable> {\r\n\t\treturn this.myBaseService.getPlainErrorOptionWithStatusCode(this.url + '/' + (id || ''), 'Failed to Load', true);\r\n\t}\r\n\r\n\tgetTracker(id: string): Observable> {\r\n\t\treturn this.myBaseService.getPlainErrorOptionWithStatusCode(this.url + '/Tracker/' + (id || ''), 'Failed to Load', true);\r\n\t}\r\n\r\n\tgetCompanyData(id: string): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/Company');\r\n\t}\r\n\r\n\tValidateOffScheduleDate(id: string | System.Guid, date: Date): Observable {\r\n\t\tvar dateStr = '';\r\n\t\tif (date) {\r\n\t\t\tdateStr = DateTime.fromJSDate(new Date(date)).toISO();\r\n\t\t}\r\n\t\treturn this.myBaseService.post(date, this.url + '/ValidateOffScheduleDate/' + id.toString(), true);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ReservationQuestionaireVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url, true);\r\n\t}\r\n}\r\n\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class SatisfactionSurveyQuestionService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('SatisfactionSurveyQuestion');\r\n\t}\r\n\t\r\n\tloadAll(active: boolean) : Observable {\r\n\t\tvar loc = this.url + '?active=' + (active ?? true);\r\n\t\treturn this.myBaseService.loadAll(loc);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { ContentAndStatus } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class SatisfactionSurveyResponseService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('SatisfactionSurveyResponse');\r\n\t}\r\n\r\n\tgetForQuestion(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForQuestion/' + (id || ''));\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.SurveyResponse) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\t\r\n\tgetEdit(id: System.Guid): Observable> {\r\n\t\treturn this.myBaseService.getPlainErrorOptionWithStatusCode(this.url +'/Edit/'+(id||''), 'Failed to Load', true);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { ContentAndStatus } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class ScheduleService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Schedule');\r\n\t}\r\n\r\n\t\r\n\tloadForAllTrucks(date: Date): Observable {\r\n\t\treturn this.myBaseService.getPlain(this.url + '/ForAllTrucks?date=' + this.myBaseService.getDateStr(date), 'Failed to load schedule');\r\n\t}\r\n\tloadForTruck(truckID: System.Guid, date: Date): Observable> {\r\n\r\n\t\treturn this.myBaseService.getPlainErrorOptionWithStatusCode(this.url + '/ForTruck/' + truckID + '?date=' + this.myBaseService.getDateStr(date), 'Failed to load schedule', true);\r\n\t}\r\n\r\n\tsave(obj: TooBig4Car.Logic.TruckDateScheduleVM, autoResort: boolean, sortPickups: boolean): Observable {\r\n\t\tvar iurl = this.url + '/ForTruck?reCalcDistanceAndDriveTimes=' + (autoResort || false).toString();\r\n\t\tiurl += '&sortPickups=' + (sortPickups || false).toString()\r\n\t\treturn this.myBaseService.post(obj, iurl, true);\r\n\t}\r\n\r\n\tstart(id: System.Guid, date: Date): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Start/' + (id || '') + '?date=' + this.myBaseService.getDateStr(date), false);\r\n\t}\r\n\r\n\tstop(id: System.Guid, date: Date): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Finish/' + (id || '') + '?date=' + this.myBaseService.getDateStr(date), false);\r\n\t}\r\n\r\n\tlock(id: System.Guid, date: Date): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Lock/' + (id || '') + '?date=' + this.myBaseService.getDateStr(date), false);\r\n\t}\r\n\r\n\tunlock(id: System.Guid, date: Date): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Unlock/' + (id || '') + '?date=' + this.myBaseService.getDateStr(date), false);\r\n\t}\r\n\r\n\tautoAssignTrucks(date: Date): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/AutoAssign?date=' + this.myBaseService.getDateStr(date), true);\r\n\t}\r\n\r\n\treshuffleTruck(truckID: System.Guid, date: Date): Observable {\r\n\t\treturn this.myBaseService.post(null, this.url + '/Reshuffle/' + (truckID ?? '') + '?date=' + this.myBaseService.getDateStr(date), true);\r\n\t}\r\n\r\n\tdeleteBreak(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url + '/Break');\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ScheduleItemService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('ScheduleItem');\r\n\t}\r\n\r\n\tloadForDeliveryZoneGroup(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForDeliveryZoneGroup/' + (id || ''));\r\n\t}\r\n\tloadOffScheduleForDeliveryZoneGroup(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/OffScheduleForDeliveryZoneGroup/' + (id || ''));\r\n\t}\r\n\tloadForTruck(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForTruck/' + (id || ''));\r\n\t}\r\n\tloadForCustomerAccount(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForCustomerAccount/' + (id || ''));\r\n\t}\r\n\tgetNewSchedule(): Observable {\r\n\t\treturn this.myBaseService.getPlain(this.url + '/EditNewSchedule', 'Failed to load new schedule');\r\n\t}\r\n}\r\n\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class SearchService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('Search');\r\n\t}\r\n\t\r\n\tsearch(searchObj: TooBig4Car.Logic.SearchVM) : Observable{\r\n\t\treturn this.myBaseService.post(searchObj, this.url, false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\r\n\r\n\r\n\r\n\r\n// This file was automatically generated by the PetaPoco T4 Template\r\n// Do not make changes directly to this file - edit the template instead\r\n// \r\n// The following connection settings were used to generate this file\r\n// \r\n// Connection String Name: ``\r\n// Provider: `System.Data.SqlClient`\r\n// Connection String: `server=localhost;Integrated Security=True;database=TooBig4Car;`\r\n// Schema: `dbo`\r\n// Include Views: `False`\r\n\r\n\t\t\t\t\t\r\n\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { ContentAndStatus } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class ShipmentBOLService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('ShipmentBOL');\r\n\t}\r\n\t\r\n\tchangeCustomer(searchObj: TooBig4Car.Logic.ShipmentBOLCustomerChangeVM): Observable {\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/ChangeCustomer', true);\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ShipmentBOL) : Observable> {\r\n\t\treturn this.myBaseService.postWithStatusCode(tempItem, this.url, true);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchObj: TooBig4Car.Logic.SearchVM) : Observable{\r\n\t\treturn this.myBaseService.post(searchObj, this.url + '/Search', false);\r\n\t}\r\n\r\n\tgetSplit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url +'/Split');\r\n\t}\r\n\tsaveSplit(tempItem: TooBig4Car.Logic.SplitShipmentVM): Observable> {\r\n\t\treturn this.myBaseService.postWithStatusCode(tempItem, this.url + '/Split', true);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class ShipmentBOLDocumentService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('ShipmentBOLDocument');\r\n\t}\r\n\t\r\n\tloadAllForShipment(shipID: System.Guid) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/'+ (shipID ?? ''));\r\n\t}\r\n\t\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\t\r\n\tdownloadDoc(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/Content/' + id);\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class StorageLocationService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('StorageLocation');\r\n\t}\r\n\t\r\n\tloadAll(active: boolean) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string) : Observable{\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class StorageRackService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('StorageRack');\r\n\t}\r\n\t\r\n\tloadAllForLocation(id: System.Guid, active: boolean) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForLocation/' + (id || '') + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tgetStorageLabels(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id || '') + '/StorageLabels');\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class StorageSpaceService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('StorageSpace');\r\n\t}\r\n\t\r\n\tloadAllForRack(id: System.Guid, active: boolean) : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/ForRack/' + (id || '') + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n\tgetStorageLabel(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id || '') + '/StorageLabel');\r\n\t}\r\n\r\n}\r\n\t\t\t\t\r\n","\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TimeZoneService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TimeZone');\r\n\t}\r\n\t\r\n\tloadAll() : Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url);\r\n\t}\r\n}\r\n\t\r\n","\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class TruckService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('Truck');\r\n\t}\r\n\r\n\tloadAllForMeAfterDate(): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/MyForDate');\r\n\t}\r\n\tloadAssignmentsForTruckAndDate(id: System.Guid, date: Date): Observable {\r\n\t\tvar td = {\r\n\t\t\tTruckID: id,\r\n\t\t\tDateApplies: this.myBaseService.getDateStr(date)\r\n\t\t};\r\n\t\treturn this.myBaseService.post(td, this.url + '/ForTruckAndDate', true);\r\n\t}\r\n\tsaveAssign(obj: TooBig4Car.Logic.TruckUserAssignmentVM): Observable {\r\n\t\tvar dateFixed: any = Object.assign({}, obj);\r\n\t\tdateFixed.DateApplies = this.myBaseService.getDateStr(dateFixed.DateApplies);\r\n\t\treturn this.myBaseService.post(dateFixed, this.url + '/Assign', false);\r\n\t}\r\n\tdeleteAssignment(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url + '/Assign');\r\n\t}\r\n\r\n\r\n\tloadAll(activeOnly: boolean): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?active=' + (activeOnly ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tloadHistory(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/History/' + (id ?? ''));\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tsearch(searchTerm: string): Observable {\r\n\t\treturn this.myBaseService.post(searchTerm, this.url + '/Search', false);\r\n\t}\r\n\tgetLabel(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/' + (id || '') + '/Label');\r\n\t}\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\n\r\n@Injectable()\r\nexport class TruckLocationService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('TruckLocation');\r\n\t}\r\n\r\n\tloadForTruckAndDate(id: System.Guid, date: Date): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '/' + (id || '') + '?date=' + this.myBaseService.configData.getDateStr(date));\r\n\t}\r\n}\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypeCancellationReasonService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypeCancellationReason');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypeCountryService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypeCountry');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypeCustomerAccountService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypeCustomerAccount');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypeOrderTagService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypeOrderTag');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypePaymentSourceService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypePaymentSource');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\t\r\n}\r\n\t\t\t\t\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypePropertyItemService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypePropertyItem');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypeStorageFeeService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('TypeStorageFee');\r\n\t}\r\n\tloadAll(active: boolean): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase): Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n}\r\n\r\n","\t\t\t\timport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class TypeTruckService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t){\r\n\t\tthis.url = urlService.getURL('TypeTruck');\r\n\t}\r\n\t\r\n loadAll(active: boolean) : Observable {\r\n return this.myBaseService.loadAll(this.url + '?active=' + (active ?? true).toString());\r\n\t}\r\n\tsave(tempItem: TooBig4Car.Logic.ObjectBase) : Observable {\r\n\t\treturn this.myBaseService.save(tempItem, this.url);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n\tgetEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.getEdit(id, this.url);\r\n\t}\r\n\tget(id: System.Guid) : Observable{\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n}\r\n\t\t\t\t\r\n","import { Injectable } from '@angular/core';\r\nimport { DateTime } from 'luxon';\r\nimport { Observable } from 'rxjs';\r\nimport { BlobResponse } from '../../Models/OtherClasses';\r\nimport { BaseService } from \"../BaseService\";\r\nimport { UrlService } from \"../UrlService\";\r\n\r\n@Injectable()\r\nexport class UploadedFileService {\r\n\tprivate url: string;\r\n\r\n\tconstructor(\r\n\t\tprivate myBaseService: BaseService,\r\n\t\tprivate urlService: UrlService\r\n\t) {\r\n\t\tthis.url = urlService.getURL('UploadedFile');\r\n\t}\r\n\tdownload(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.loadBlob(this.url + '/Download/' + id ??'');\r\n\t}\r\n\tloadAll(type: number): Observable {\r\n\t\treturn this.myBaseService.loadAll(this.url +'?type=' + (type ?? 0));\r\n\t}\r\n\tget(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url);\r\n\t}\r\n\tgetColumnEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/EditColumns');\r\n\t}\r\n\tsaveColumn(tempItem: TooBig4Car.Logic.UploadedFileListColumnMapperVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/EditColumns',true);\r\n\t}\r\n\tgetPropertyColumnEdit(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.get(id, this.url + '/EditPropertyColumns');\r\n\t}\r\n\tsavePropertyColumn(tempItem: TooBig4Car.Logic.UploadedPropertyFileListPropertyColumnMapperVM): Observable {\r\n\t\treturn this.myBaseService.post(tempItem, this.url + '/EditPropertyColumns', true);\r\n\t}\r\n\tdeleteItem(id: System.Guid): Observable {\r\n\t\treturn this.myBaseService.deleteItem(id, this.url);\r\n\t}\r\n}\r\n\r\n","import { Injectable, Component, TemplateRef } from '@angular/core';\r\nimport { NgbModalRef, NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\r\nimport { ErrorPopUpComponent } from \"../Components/PopUps/ErrorPopUpComponent\";\r\nimport { ConfirmComponent } from '../Components/PopUps/ConfirmComponent';\r\nimport { LogInErrorPopUpComponent } from '../Components/PopUps/LogInErrorPopUpComponent';\r\n\r\n\r\n@Injectable()\r\nexport class DialogService {\r\n\r\n\tconstructor(private modalService: NgbModal) { }\r\n\r\n\talreadyLogInError: boolean = false;\r\n\tshowLogInError() {\r\n\t\tvar thisHolder = this;\r\n\t\tif (!thisHolder.alreadyLogInError) {\r\n\t\t\tthisHolder.alreadyLogInError = true;\r\n\t\t\tlet modal: NgbModalRef = thisHolder.modalService.open(LogInErrorPopUpComponent);\r\n\t\t\tmodal.result.then(() => {\r\n\t\t\t\tthisHolder.alreadyLogInError = false;\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\terror(msg: string, error: string) {\r\n\t\tlet modal: NgbModalRef = this.modalService.open(ErrorPopUpComponent);\r\n\r\n\t\tmodal.componentInstance.errorBody = msg;\r\n\t\tmodal.componentInstance.errorStack = error;\r\n\t}\r\n\r\n\tconfirm(msg: string): Promise {\r\n\t\tlet modal: NgbModalRef = this.modalService.open(ConfirmComponent);\r\n\t\tmodal.componentInstance.message = msg || 'Are you sure?';\r\n\t\treturn modal.result;\r\n\t}\r\n\r\n\tmessage(msg: string, title: string): Promise {\r\n\t\tlet modal: NgbModalRef = this.modalService.open(ErrorPopUpComponent);\r\n\r\n\t\tif (title) {\r\n\t\t\tmodal.componentInstance.errorTitle = title;\r\n\t\t}\r\n\t\tmodal.componentInstance.errorBody = msg;\r\n\t\treturn modal.result;\r\n\t}\r\n\r\n\r\n\ttoasts: any[] = [];\r\n\r\n\tshowToast(text: string, options: any = {}) {\r\n\t\tthis.toasts.push({ text: text, ...options });\r\n\t}\r\n\r\n\tremoveToast(toast:any) {\r\n\t\tthis.toasts = this.toasts.filter((t) => t !== toast);\r\n\t}\r\n\r\n\tclearToasts() {\r\n\t\tthis.toasts.splice(0, this.toasts.length);\r\n\t}\r\n}\r\n\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpInterceptor, HttpHandler, HttpRequest, HttpEvent, HttpResponse, HttpHeaders }\r\n\tfrom '@angular/common/http';\r\n\r\nimport { Observable, tap } from 'rxjs';\r\nimport { ConfigService } from './ConfigService';\r\ndeclare var MiniProfiler: any;\r\n\r\n\r\n//https://gist.github.com/Shaddix/d5585f46334efa86ad3e685541869c18\r\n@Injectable()\r\nexport class MiniProfilerInterceptor implements HttpInterceptor {\r\n\tconstructor(private configData: ConfigService) {}\r\n\r\n\tintercept(req: HttpRequest,next: HttpHandler): Observable> {\r\n\r\n\t\tvar handler: Observable>;\r\n\t\tif (req.url.toLowerCase().indexOf(\"mini-profiler-resources\") >= 0) {\r\n\t\t\tconst authorizedRequest = req.clone({ headers: this.getMyHeaders() });\r\n\t\t\thandler = next.handle(authorizedRequest);\r\n\t\t} else {\r\n\t\t\thandler = next.handle(req);\r\n\t\t}\r\n\r\n\t\treturn handler\r\n\t\t\t.pipe(\r\n\t\t\t\ttap(\r\n\t\t\t\t\tevt => {\r\n\t\t\t\t\t\tif (evt instanceof HttpResponse) {\r\n\t\t\t\t\t\t\tif (typeof MiniProfiler !== 'undefined' && evt && evt.headers) {\r\n\t\t\t\t\t\t\t\tthis.makeMiniProfilerRequests(evt.headers);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t)\r\n\t\t\t);\r\n\t}\r\n\r\n\tgetMyHeaders(): HttpHeaders {\r\n\r\n\t\tvar headers = new HttpHeaders(); // ... Set content type to JSON\r\n\t\tif (this.configData.isLoggedIn()) {\r\n\t\t\theaders = headers.set(\"Authorization\", `${this.configData.user.token_type} ${this.configData.user.access_token}`);\r\n\t\t}\r\n\t\treturn headers;\r\n\t}\r\n\r\n\r\n\tprivate makeMiniProfilerRequests(headers: HttpHeaders) {\r\n\t\tconst miniProfilerHeaders = headers.getAll('x-miniprofiler-ids');\r\n\r\n\t\tif (!miniProfilerHeaders) {\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tminiProfilerHeaders.forEach(miniProfilerIdHeaderValue => {\r\n\t\t\tconst ids = JSON.parse(miniProfilerIdHeaderValue) as string[];\r\n\t\t\tMiniProfiler.fetchResults(ids);\r\n\t\t});\r\n\t}\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ConfigService } from \"./ConfigService\";\r\n\r\n@Component({\r\n\t\r\n\ttemplate: ''\r\n})\r\nexport class RouterComponent {\r\n\t\r\n\r\n\tconstructor(\r\n\t\tpublic configData: ConfigService) {\r\n\t\tthis.configData.goHome();\r\n\t}\r\n\t\t\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SortService {\r\n\r\n constructor() { }\r\n\r\n private columnSortedSource = new Subject();\r\n\r\n columnSorted$ = this.columnSortedSource.asObservable();\r\n\r\n columnSorted(event: ColumnSortedEvent) {\r\n this.columnSortedSource.next(event);\r\n }\r\n\r\n}\r\n\r\nexport interface ColumnSortedEvent {\r\n sortColumn: string;\r\n sortDirection: string;\r\n}\r\n","import { Component, HostListener, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\n\r\nimport { SortService } from './sort.service';\r\n\r\n@Component({\r\n\tselector: '[sortable-column]',\r\n\ttemplateUrl: './sortable-column.component.html',\r\n\t\r\n})\r\nexport class SortableColumnComponent implements OnInit, OnDestroy {\r\n\r\n\tconstructor(private sortService: SortService) { }\r\n\r\n\t@Input('sortable-column')\r\n\tcolumnName: string;\r\n\r\n\t@Input('sort-direction')\r\n\tsortDirection: string = '';\r\n\r\n\tprivate columnSortedSubscription: Subscription;\r\n\r\n\t@HostListener('click')\r\n\tsort() {\r\n\t\tthis.sortDirection = this.sortDirection === 'asc' ? 'desc' : 'asc';\r\n\t\tthis.sortService.columnSorted({ sortColumn: this.columnName, sortDirection: this.sortDirection });\r\n\t}\r\n\r\n\tngOnInit() {\r\n\t\t// subscribe to sort changes so we can react when other columns are sorted\r\n\t\tthis.columnSortedSubscription = this.sortService.columnSorted$.subscribe(event => {\r\n\t\t\t// reset this column's sort direction to hide the sort icons\r\n\t\t\tif (!event || this.columnName != event.sortColumn) {\r\n\t\t\t\tthis.sortDirection = '';\r\n\t\t\t} else {\r\n\t\t\t\tif (!this.sortDirection) {\r\n\t\t\t\t\tthis.sortDirection = event.sortDirection;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.columnSortedSubscription) {\r\n\t\t\tthis.columnSortedSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n}\r\n","import { Directive, EventEmitter, OnDestroy, OnInit, Output } from '@angular/core';\r\nimport { Subscription } from 'rxjs';\r\nimport { SortService } from './sort.service';\r\n\r\n\r\n@Directive({\r\n\tselector: '[sortable-table]'\r\n})\r\nexport class SortableTableDirective implements OnInit, OnDestroy {\r\n\r\n\tconstructor(private sortService: SortService) { }\r\n\r\n\t@Output()\r\n\tsorted = new EventEmitter();\r\n\r\n\tprivate columnSortedSubscription: Subscription;\r\n\r\n\tngOnInit() {\r\n\t\t// subscribe to sort changes so we emit and event for this data table\r\n\t\tthis.columnSortedSubscription = this.sortService.columnSorted$.subscribe(event => {\r\n\t\t\tthis.sorted.emit(event);\r\n\t\t});\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t\tif (this.columnSortedSubscription) {\r\n\t\t\tthis.columnSortedSubscription.unsubscribe();\r\n\t\t}\r\n\t}\r\n}\r\n","\r\nimport { Injectable, Component } from '@angular/core';\r\nimport { ConfigService } from \"./ConfigService\";\r\n\r\n\r\n@Injectable()\r\n\r\nexport class UrlService {\r\n\r\n\tconstructor(public configData: ConfigService) { }\r\n\r\n\tgetURL(factoryName: string) {\r\n\t\tvar returnVal = this.configData.apiBaseUrl();\r\n\t\tif (!returnVal.endsWith('/')) {\r\n\t\t\treturnVal += '/';\r\n\t\t}\r\n\t\tswitch (factoryName) {\r\n\t\t\tdefault:\r\n\t\t\t\treturnVal += 'api/v1/' + factoryName;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\treturn returnVal;\r\n\t}\r\n}\r\n\r\n\r\n","import { HTTP_INTERCEPTORS, HttpClient } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { ConfirmComponent } from '../Components/PopUps/ConfirmComponent';\r\nimport { ErrorPopUpComponent } from '../Components/PopUps/ErrorPopUpComponent';\r\nimport { PopUpBusyComponent } from '../Components/PopUps/PopUpBusyComponent';\r\nimport { AuthInterceptor } from '../RoutingAuth/auth.interceptor';\r\n\r\nimport { BaseService } from './BaseService';\r\nimport { BlobErrorHttpInterceptor } from './BlobErrorInterceptor';\r\nimport { AgreementService } from './Custom/ServiceAgreement';\r\nimport { AgreementMasterService } from './Custom/ServiceAgreementMaster';\r\nimport { AppUserService } from './Custom/ServiceAppUser';\r\nimport { ChatMessageService } from './Custom/ServiceChatMessage';\r\nimport { ChecklistService } from './Custom/ServiceChecklist';\r\nimport { ChecklistTaskService } from './Custom/ServiceChecklistTask';\r\nimport { ChecklistTaskStatusChangeService } from './Custom/ServiceChecklistTaskStatusChange';\r\nimport { CommunicationTemplateService } from './Custom/ServiceCommunicationTemplate';\r\nimport { CompanyService } from './Custom/ServiceCompany';\r\nimport { CompanyEmailService } from './Custom/ServiceCompanyEmail';\r\nimport { CompanyEmailDomainService } from './Custom/ServiceCompanyEmailDomain';\r\nimport { CompanyPhoneNumberService } from './Custom/ServiceCompanyPhoneNumber';\r\nimport { CompanyPromoCodeService } from './Custom/ServiceCompanyPromoCode';\r\nimport { CustomerAccountService } from './Custom/ServiceCustomerAccount';\r\nimport { CustomerInvoiceService } from './Custom/ServiceCustomerInvoice';\r\nimport { CustomerInvoiceItemService } from './Custom/ServiceCustomerInvoiceItem';\r\nimport { DeliveryZoneService } from './Custom/ServiceDeliveryZone';\r\nimport { DeliveryZoneGroupService } from './Custom/ServiceDeliveryZoneGroup';\r\nimport { EndUserCommunicationTrackerService } from './Custom/ServiceEndUserCommunicationTracker';\r\nimport { ImportFileTemplateService } from './Custom/ServiceImportFileTemplate';\r\nimport { LogService } from './Custom/ServiceLog';\r\nimport { OutsideLogService } from './Custom/ServiceOutsideLog';\r\nimport { PaymentService } from './Custom/ServicePayment';\r\nimport { PersonService } from './Custom/ServicePerson';\r\nimport { PickupDeliveryService } from './Custom/ServicePickupDelivery';\r\nimport { PickupDeliveryExtraFeeService } from './Custom/ServicePickupDeliveryExtraFee';\r\nimport { PickupDeliverySpecialItemService } from './Custom/ServicePickupDeliverySpecialItem';\r\nimport { PropertyItemService } from './Custom/ServicePropertyItem';\r\nimport { PropertyItemDocumentService } from './Custom/ServicePropertyItemDocument';\r\nimport { PropertyItemInspectionService } from './Custom/ServicePropertyItemInspection';\r\nimport { PropertyItemNoteService } from './Custom/ServicePropertyItemNote';\r\nimport { PropertyItemSpecialItemService } from './Custom/ServicePropertyItemSpecialItem';\r\nimport { QBService } from './Custom/ServiceQB';\r\nimport { ReferralSourceService } from './Custom/ServiceReferralSource';\r\nimport { ReportsService } from './Custom/ServiceReports';\r\nimport { ReservationService } from './Custom/ServiceReservation';\r\nimport { SatisfactionSurveyQuestionService } from './Custom/ServiceSatisfactionSurveyQuestion';\r\nimport { SatisfactionSurveyResponseService } from './Custom/ServiceSatisfactionSurveyResponse';\r\nimport { ScheduleService } from './Custom/ServiceSchedule';\r\nimport { ScheduleItemService } from './Custom/ServiceScheduleItem';\r\nimport { SearchService } from './Custom/ServiceSearch';\r\nimport { ShipmentBOLService } from './Custom/ServiceShipmentBOL';\r\nimport { ShipmentBOLDocumentService } from './Custom/ServiceShipmentBOLDocument';\r\nimport { StorageLocationService } from './Custom/ServiceStorageLocation';\r\nimport { StorageRackService } from './Custom/ServiceStorageRack';\r\nimport { StorageSpaceService } from './Custom/ServiceStorageSpace';\r\nimport { TimeZoneService } from './Custom/ServiceTimeZone';\r\nimport { TruckService } from './Custom/ServiceTruck';\r\nimport { TypeCancellationReasonService } from './Custom/ServiceTypeCancellationReason';\r\nimport { TypeCountryService } from './Custom/ServiceTypeCountry';\r\nimport { TypeCustomerAccountService } from './Custom/ServiceTypeCustomerAccount';\r\nimport { TypeOrderTagService } from './Custom/ServiceTypeOrderTag';\r\nimport { TypePaymentSourceService } from './Custom/ServiceTypePaymentSource';\r\nimport { TypePropertyItemService } from './Custom/ServiceTypePropertyItem';\r\nimport { TypeStorageFeeService } from './Custom/ServiceTypeStorageFee';\r\nimport { TypeTruckService } from './Custom/ServiceTypeTruck';\r\nimport { UploadedFileService } from './Custom/ServiceUploadedFile';\r\nimport { DialogService } from './DialogService';\r\nimport { MiniProfilerInterceptor } from './ProfiledHttpInterceptor';\r\nimport { UrlService } from './UrlService';\r\nimport { PhoneAppService } from './Custom/ServicePhoneApp';\r\nimport { TruckLocationService } from './Custom/ServiceTruckLocation';\r\n\r\n@NgModule({\r\n\tdeclarations: [\r\n\t\tErrorPopUpComponent,\r\n\t\tPopUpBusyComponent,\r\n\t\tConfirmComponent,\r\n\t],\r\n\timports: [],\r\n\tproviders: [\r\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: AuthInterceptor, multi: true },\r\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: MiniProfilerInterceptor, multi: true },\r\n\t\t{ provide: HTTP_INTERCEPTORS, useClass: BlobErrorHttpInterceptor, multi: true },\r\n\t\tUrlService,\r\n\t\tBaseService,\r\n\t\tDialogService,\r\n\t\tHttpClient,\r\n\t\tTitle,\r\n\r\n\t\tAgreementService,\r\n\t\tAgreementMasterService,\r\n\r\n\t\tAppUserService,\r\n\t\tChatMessageService,\r\n\t\tChecklistService,\r\n\t\tChecklistTaskService,\r\n\t\tChecklistTaskStatusChangeService,\r\n\t\tCommunicationTemplateService,\r\n\t\tCompanyPromoCodeService,\r\n\t\tCompanyService,\r\n\t\tCustomerAccountService,\r\n\t\tCompanyEmailService,\r\n\t\tCompanyEmailDomainService,\r\n\t\tCompanyPhoneNumberService,\r\n\t\tCustomerInvoiceService,\r\n\t\tCustomerInvoiceItemService,\r\n\t\tDeliveryZoneGroupService,\r\n\t\tDeliveryZoneService,\r\n\t\tEndUserCommunicationTrackerService,\r\n\t\tImportFileTemplateService,\r\n\t\tLogService,\r\n\t\tOutsideLogService,\r\n\t\tPaymentService,\r\n\t\tPersonService,\r\n\t\tPhoneAppService,\r\n\t\tPickupDeliveryService,\r\n\t\tPickupDeliveryExtraFeeService,\r\n\t\tPickupDeliverySpecialItemService,\r\n\t\tPropertyItemDocumentService,\r\n\t\tPropertyItemService,\r\n\t\tPropertyItemNoteService,\r\n\t\tPropertyItemInspectionService,\r\n\t\tPropertyItemSpecialItemService,\r\n\t\tQBService,\r\n\t\tReferralSourceService,\r\n\t\tReportsService,\r\n\t\tReservationService,\r\n\t\tScheduleItemService,\r\n\t\tSatisfactionSurveyQuestionService,\r\n\t\tSatisfactionSurveyResponseService,\r\n\t\tScheduleService,\r\n\t\tSearchService,\r\n\t\tShipmentBOLService,\r\n\t\tShipmentBOLDocumentService,\r\n\t\tStorageLocationService,\r\n\t\tStorageRackService,\r\n\t\tStorageSpaceService,\r\n\t\tTimeZoneService,\r\n\t\tTruckService,\r\n\t\tTruckLocationService,\r\n\t\tTypeCancellationReasonService,\r\n\t\tTypeCountryService,\r\n\t\tTypeCustomerAccountService,\r\n\t\tTypeOrderTagService,\r\n\t\tTypePaymentSourceService,\r\n\t\tTypePropertyItemService,\r\n\t\tTypeStorageFeeService,\r\n\t\tTypeTruckService,\r\n\t\tUploadedFileService\r\n\t],\r\n\tentryComponents: [\r\n\t\tErrorPopUpComponent,\r\n\t\tPopUpBusyComponent,\r\n\t\tConfirmComponent,\r\n\r\n\t]\r\n})\r\nexport class ServiceModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ScannerPopUpComponent } from './Components/PopUps/ScannerPopUpComponent';\r\nimport { AuthCallbackComponent } from './Components/account/auth-callback/auth-callback.component';\r\nimport { SilentCallbackComponent } from './Components/account/auth-callback/silent-callback.component';\r\nimport { SupportCallbackComponent } from './Components/account/auth-callback/support-callback.component';\r\nimport { actConfirmComponent } from './Components/account/confirm/actConfirm.component';\r\nimport { emailConfirmComponent } from './Components/account/confirm/emailConfirm.component';\r\nimport { SettingsShellComponent } from './Components/shell/SettingsShellComponent';\r\nimport { StorageShellComponent } from './Components/shell/StorageShellComponent';\r\nimport { PersonRoleEnum } from './Models/OtherClasses';\r\nimport { RoleAuthGuard } from './RoutingAuth/RoleAuthGuard';\r\nimport { AuthGuard } from './RoutingAuth/auth.guard';\r\nimport { RouterComponent } from './Services/RouterComponent';\r\nimport { ReportsShellComponent } from './Components/shell/ReportsShellComponent';\r\nimport { ViewerComponent } from './Components/3rdParty/ViewerComponent';\r\n\r\n\r\nconst routes: Routes = [\r\n\t{\r\n\t\tpath: 'ang/Home', loadChildren: () => import(`./Components/home/home.module`).then(\r\n\t\t\tm => m.HomeModule\r\n\t\t)\r\n\t},\r\n\t{ path: 'silent-callback', component: SilentCallbackComponent, },\r\n\t{ path: 'support-callback', component: SupportCallbackComponent, },\r\n\t{ path: 'auth-callback', component: AuthCallbackComponent },\r\n\t{ path: 'emailconfirm/:id', component: emailConfirmComponent },\r\n\t{ path: 'emailconfirm', component: emailConfirmComponent },\r\n\t{ path: 'actconfirm', component: actConfirmComponent },\r\n\t{ path: 'viewer/:id', component: ViewerComponent },\r\n\t{\r\n\t\tpath: 'ang/Scan',\r\n\t\tcanActivate: [RoleAuthGuard],\r\n\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tcomponent: ScannerPopUpComponent\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Company',\r\n\t\tcanActivate: [AuthGuard, RoleAuthGuard],\r\n\t\tcanActivateChild: [AuthGuard, RoleAuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/Company/Company.Module`).then(\r\n\t\t\tm => m.CompanyModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Reports',\r\n\t\tcomponent: ReportsShellComponent,\r\n\t\tcanActivate: [AuthGuard, RoleAuthGuard],\r\n\t\tcanActivateChild: [AuthGuard, RoleAuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.ADMIN, PersonRoleEnum.TREASURY]\r\n\t\t},\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: '',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN, PersonRoleEnum.TREASURY]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/Reports/Reports.Module`).then(\r\n\t\t\t\t\tm => m.ReportsModule\r\n\t\t\t\t),\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Person',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tloadChildren: () => import(`./Components/Person/Person.Module`).then(\r\n\t\t\tm => m.PersonModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Storage',\r\n\t\tcomponent: StorageShellComponent,\r\n\t\tcanActivate: [AuthGuard, RoleAuthGuard],\r\n\t\tcanActivateChild: [AuthGuard, RoleAuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: '',\r\n\t\t\t\tredirectTo: 'Location',\r\n\t\t\t\tpathMatch: 'full' \r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'Location',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/StorageLocation/StorageLocation.Module`).then(\r\n\t\t\t\t\tm => m.StorageLocationModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'Items',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/PropertyItem/PropertyItem.Module`).then(\r\n\t\t\t\t\tm => m.PropertyItemModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'BOL',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/ShipmentBOL/ShipmentBOL.Module`).then(\r\n\t\t\t\t\tm => m.ShipmentBOLModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'WillCall',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/StorageLocation/WillCall.Module`).then(\r\n\t\t\t\t\tm => m.WillCallModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/CustomerTemplate',\r\n\t\tloadChildren: () => import(`./Components/CommunicationTemplate/CommunicationTemplate.Module`).then(\r\n\t\t\tm => m.CommunicationTemplateModule\r\n\t\t),\r\n\t\tcanActivate: [RoleAuthGuard],\r\n\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t},\r\n\t},\r\n\t{ \r\n\t\tpath: 'ang/Settings',\r\n\t\tcomponent: SettingsShellComponent,\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tchildren: [\r\n\t\t\t{\r\n\t\t\t\tpath: '',\r\n\t\t\t\tredirectTo: 'Company',\r\n\t\t\t\tpathMatch: 'full' \r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'Users',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tloadChildren: () => import(`./Components/Person/Person.Module`).then(\r\n\t\t\t\t\tm => m.PersonModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'Instructions',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tloadChildren: () => import(`./Components/AppInstructions/AppInstructions.Module`).then(\r\n\t\t\t\t\tm => m.AppInstructionsModule\r\n\t\t\t\t),\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SUPERADMIN]\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'Company',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tloadChildren: () => import(`./Components/Company/Company.Module`).then(\r\n\t\t\t\t\tm => m.CompanyModule\r\n\t\t\t\t),\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'CommVia',\r\n\t\t\t\tcanActivate: [AuthGuard],\r\n\t\t\t\tcanActivateChild: [AuthGuard],\r\n\t\t\t\tloadChildren: () => import(`./Components/CommVia/CommVia.Module`).then(\r\n\t\t\t\t\tm => m.CommViaModule\r\n\t\t\t\t),\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SUPERADMIN]\r\n\t\t\t\t},\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'TypeCountry',\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SUPERADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/TypeCountry/TypeCountry.Module`).then(\r\n\t\t\t\t\tm => m.TypeCountryModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'TypeCustomerAccount',\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SUPERADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/TypeCustomerAccount/TypeCustomerAccount.Module`).then(\r\n\t\t\t\t\tm => m.TypeCustomerAccountModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'TypeStorageFee',\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/TypeStorageFee/TypeStorageFee.Module`).then(\r\n\t\t\t\t\tm => m.TypeStorageFeeModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'TypeCancellationReason',\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/TypeCancellationReason/TypeCancellationReason.Module`).then(\r\n\t\t\t\t\tm => m.TypeCancellationReasonModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'TypeOrderTag',\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/TypeOrderTag/TypeOrderTag.Module`).then(\r\n\t\t\t\t\tm => m.TypeOrderTagModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tpath: 'TypePaymentSource',\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.SUPERADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tloadChildren: () => import(`./Components/TypePaymentSource/TypePaymentSource.Module`).then(\r\n\t\t\t\t\tm => m.TypePaymentSourceModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'ReferralSource', loadChildren: () => import(`./Components/ReferralSource/ReferralSource.Module`).then(\r\n\t\t\t\t\tm => m.ReferralSourceModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'CommTemplate', loadChildren: () => import(`./Components/CommunicationTemplate/CommunicationTemplate.Module`).then(\r\n\t\t\t\t\tm => m.CommunicationTemplateModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'TypePropertyItem', loadChildren: () => import(`./Components/TypePropertyItem/TypePropertyItem.Module`).then(\r\n\t\t\t\t\tm => m.TypePropertyItemModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'TypeTruck', loadChildren: () => import(`./Components/TypeTruck/TypeTruck.Module`).then(\r\n\t\t\t\t\tm => m.TypeTruckModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'SurveyQuestion',\r\n\t\t\t\tloadChildren: () => import(`./Components/SatisfactionSurveyQuestion/SatisfactionSurveyQuestion.Module`).then(\r\n\t\t\t\t\tm => m.SatisfactionSurveyQuestionModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'PromoCode',\r\n\t\t\t\tloadChildren: () => import(`./Components/CompanyPromoCode/CompanyPromoCode.Module`).then(\r\n\t\t\t\t\tm => m.CompanyPromoCodeModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'DeliveryZoneGroup',\r\n\t\t\t\tloadChildren: () => import(`./Components/DeliveryZoneGroup/DeliveryZoneGroup.Module`).then(\r\n\t\t\t\t\tm => m.DeliveryZoneGroupModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'Truck',\r\n\t\t\t\tloadChildren: () => import(`./Components/Truck/Truck.Module`).then(\r\n\t\t\t\t\tm => m.TruckModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'Checklist',\r\n\t\t\t\tloadChildren: () => import(`./Components/Checklist/Checklist.Module`).then(\r\n\t\t\t\t\tm => m.ChecklistModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tcanActivate: [RoleAuthGuard],\r\n\t\t\t\tcanActivateChild: [RoleAuthGuard],\r\n\t\t\t\tdata: {\r\n\t\t\t\t\tallowedRoles: [PersonRoleEnum.ADMIN]\r\n\t\t\t\t},\r\n\t\t\t\tpath: 'Agreement',\r\n\t\t\t\tloadChildren: () => import(`./Components/AgreementMaster/AgreementMaster.Module`).then(\r\n\t\t\t\t\tm => m.AgreementMasterModule\r\n\t\t\t\t)\r\n\t\t\t},\r\n\t\t]\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Map',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/Map/DispatchMap.Module`).then(\r\n\t\t\tm => m.DispatchMapModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Chat',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/ChatMessage/ChatMessage.Module`).then(\r\n\t\t\tm => m.ChatMessageModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Upload',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/UploadedFile/UploadedFile.Module`).then(\r\n\t\t\tm => m.UploadedFileModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/CustomerInvoice',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/CustomerInvoice/CustomerInvoice.Module`).then(\r\n\t\t\tm => m.CustomerInvoiceModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Payment',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/Payment/Payment.Module`).then(\r\n\t\t\tm => m.PaymentModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/PickupDelivery',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.SYSTEMROLEEMPLOYEE]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/PickupDelivery/PickupDelivery.Module`).then(\r\n\t\t\tm => m.PickupDeliveryModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/Driver',\r\n\t\tcanActivate: [AuthGuard, RoleAuthGuard],\r\n\t\tcanActivateChild: [AuthGuard, RoleAuthGuard],\r\n\t\tdata: {\r\n\t\t\tallowedRoles: [PersonRoleEnum.DRIVER]\r\n\t\t},\r\n\t\tloadChildren: () => import(`./Components/PickupDeliveryDriver/PickupDeliveryDriver.Module`).then(\r\n\t\t\tm => m.PickupDeliveryDriverModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'ang/CustomerAccount',\r\n\t\tcanActivate: [AuthGuard],\r\n\t\tcanActivateChild: [AuthGuard],\r\n\t\tloadChildren: () => import(`./Components/CustomerAccount/CustomerAccount.Module`).then(\r\n\t\t\tm => m.CustomerAccountModule\r\n\t\t)\r\n\t},\r\n\t\r\n\t\r\n\r\n\r\n\t{\r\n\t\tpath: 'Survey',\r\n\t\tloadChildren: () => import(`./Components/SatisfactionSurveyResponse/SatisfactionSurveyResponse.Module`).then(\r\n\t\t\tm => m.SatisfactionSurveyResponseModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'Reserve',\r\n\t\tloadChildren: () => import(`./Components/Reservations/Reservations.Module`).then(\r\n\t\t\tm => m.ReservationsModule\r\n\t\t)\r\n\t},\r\n\t{\r\n\t\tpath: 'Public',\r\n\t\tloadChildren: () => import(`./Components/PickupDeliveryPublic/PickupDeliveryPublic.Module`).then(\r\n\t\t\tm => m.PickupDeliveryPublicModule\r\n\t\t)\r\n\t},\r\n\t// Fallback when no prior route is matched\r\n\t{ path: '**', redirectTo: '/ang/Home', pathMatch: 'full' }\r\n];\r\n\r\n@NgModule({\r\n\timports: [RouterModule.forRoot(routes, { scrollPositionRestoration: 'enabled'})],\r\n\texports: [RouterModule],\r\n\tdeclarations: [\r\n\t\tRouterComponent\r\n\t],\r\n\tproviders: [\r\n\t\tRoleAuthGuard,\r\n\t\tAuthGuard\r\n\t]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\r\nimport { AuthService } from './RoutingAuth/auth.service';\r\nimport { ConfigService } from './Services/ConfigService';\r\n\r\n@Component({\r\n\tselector: 'app-root',\r\n\ttemplateUrl: './app.component.html',\r\n\t\r\n})\r\nexport class AppComponent {\r\n\r\n\tconstructor(\r\n\t\tprivate configData: ConfigService,\r\n\t\tprivate myAuthService: AuthService,\r\n\r\n\t) {\r\n\t\tthis.myAuthService.authNavStatus$.subscribe(isAuthed => {\r\n\t\t\tthis.isSuperAdmin = this.configData.isSuperAdmin();\r\n\t\t\tthis.isAuthenticated = isAuthed;\r\n\t\t});\r\n\t\tthis.isAuthenticated = this.myAuthService.isAuthenticated();\r\n\t}\r\n\r\n\r\n\tisAuthenticated: boolean = false;\r\n\tisSuperAdmin: boolean = this.configData.isSuperAdmin();\r\n\r\n\r\n\r\n}\r\n","import { Injector, NgModule } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LocalCommonModule } from './common.module';\r\nimport { AuthCallbackComponent } from './Components/account/auth-callback/auth-callback.component';\r\nimport { SilentCallbackComponent } from './Components/account/auth-callback/silent-callback.component';\r\nimport { actConfirmComponent } from './Components/account/confirm/actConfirm.component';\r\nimport { emailConfirmComponent } from './Components/account/confirm/emailConfirm.component';\r\nimport { LogInErrorPopUpComponent } from './Components/PopUps/LogInErrorPopUpComponent';\r\nimport { ScannerPopUpComponent } from './Components/PopUps/ScannerPopUpComponent';\r\nimport { HeaderComponent } from './Components/shell/header/header.component';\r\nimport { SettingsShellComponent } from './Components/shell/SettingsShellComponent';\r\nimport { SideMenuComponent } from './Components/shell/SideMenuComponent';\r\nimport { StorageShellComponent } from './Components/shell/StorageShellComponent';\r\nimport { setAppInjector } from './Services/AppInjector';\r\nimport { ConfigService } from './Services/ConfigService';\r\nimport { AuthService } from './RoutingAuth/auth.service';\r\nimport { ToastsContainer } from './Directives/toastsDisplay';\r\nimport { SupportCallbackComponent } from './Components/account/auth-callback/support-callback.component';\r\nimport { ReportsShellComponent } from './Components/shell/ReportsShellComponent';\r\nimport { ViewerComponent } from './Components/3rdParty/ViewerComponent';\r\nimport { NgxExtendedPdfViewerModule } from 'ngx-extended-pdf-viewer';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tBrowserAnimationsModule,\r\n\t\tLocalCommonModule.forRoot(),\r\n\t\tAppRoutingModule,\r\n\t\tNgxExtendedPdfViewerModule\r\n\t],\r\n\texports: [\r\n\t\tBrowserAnimationsModule,\r\n\t],\r\n\tdeclarations: [\r\n\t\tAppComponent,\r\n\t\tAuthCallbackComponent,\r\n\t\tSilentCallbackComponent,\r\n\t\tSupportCallbackComponent,\r\n\t\tHeaderComponent,\r\n\t\tToastsContainer,\r\n\t\tScannerPopUpComponent,\r\n\t\temailConfirmComponent,\r\n\t\tactConfirmComponent,\r\n\t\tLogInErrorPopUpComponent,\r\n\t\tReportsShellComponent,\r\n\t\tSettingsShellComponent,\r\n\t\tStorageShellComponent,\r\n\t\tSideMenuComponent,\r\n\t\tViewerComponent\r\n\t],\r\n\tbootstrap: [\r\n\t\tAppComponent\r\n\t],\r\n\tentryComponents: [\r\n\t\tLogInErrorPopUpComponent,\r\n\t],\r\n\tproviders: [\r\n\t\tConfigService,\r\n\t\tAuthService,\r\n\t]\r\n})\r\nexport class AppModule {\r\n\tconstructor(injector: Injector) {\r\n\t\tsetAppInjector(injector);\r\n\t}\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { GoogleMapsModule } from '@angular/google-maps';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgbDateAdapter, NgbDateParserFormatter, NgbModule, NgbTimeAdapter } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ZXingScannerModule } from '@zxing/ngx-scanner';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\r\nimport { PropertyItemGridComponent } from './Components/Shared/PropertyItemGridComponent';\r\nimport { AutofocusDirective } from './Directives/auto-focus.directive';\r\nimport { ECINgbDateParserFormatter, NgbDateStringAdapter } from './Directives/DateParser';\r\nimport { CallbackPipe } from './Directives/filterPipe';\r\nimport { FormatAddressPipe } from \"./Directives/formatAddress\";\r\nimport { DirectionsMapDirective } from './Directives/GmapDirections';\r\nimport { MapToIterable } from './Directives/keyValueFilter';\r\nimport { PhonePipe } from './Directives/PhoneDisplay';\r\nimport { ArraySortPipe } from \"./Directives/sortPipe\";\r\nimport { summaryNumberPipe } from './Directives/summaryNumber';\r\nimport { NgbTimeStringAdapter } from './Directives/TimeParser';\r\nimport { ServiceModule } from './Services/service.module';\r\nimport { SortService } from './Services/SortableStuff/sort.service';\r\nimport { SortableColumnComponent } from './Services/SortableStuff/sortable-column.component';\r\nimport { SortableTableDirective } from './Services/SortableStuff/sortable-table.directive';\r\nimport { InputMaskModule } from '@ngneat/input-mask';\r\nimport { RatingComponent } from './Components/3rdParty/Rating/ratingcomponent';\r\nimport { EditorModule } from '@tinymce/tinymce-angular';\r\nimport { safeHtmlPipe } from './Directives/safeHtml';\r\nimport { SortablejsModule } from 'ngx-sortablejs-plus';\r\nimport { LuxonModule } from 'luxon-angular';\r\nimport { CustomerInvoiceArbitraryItemEditComponent } from './Components/Shared/CustomerInvoiceArbitraryItemComponentEdit';\r\nimport { ScheduleEditComponent } from './Components/Shared/ScheduleEditComponent';\r\nimport { AddressEditComponent } from './Components/Shared/AddressEditComponent';\r\nimport { PropertyItemImageComponent } from './Components/Shared/PropertyItemImageComponent';\r\nimport { ImagePopUpComponent } from './Components/PopUps/ImagePopUpComponent';\r\nimport { MakePaymentPartialComponent } from './Components/Shared/MakePaymentComponent';\r\nimport { yesNoPipe } from './Directives/yesNoPipe';\r\nimport { yesBlankPipe } from './Directives/yesBlankPipe';\r\nimport { MessageContentPopUpComponent } from './Components/PopUps/MessageContentPopUpComponent';\r\nimport { TextFieldModule } from '@angular/cdk/text-field';\r\nimport { ThumbnailDirective } from './Directives/uploadImagePreview';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { DateTimeToFormatHideMidnightPipe } from './Directives/LuxonHideMidnight';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tFileUploadModule,\r\n\t\tCommonModule,\r\n\t\tServiceModule,\r\n\t\tDragDropModule,\r\n\t\tEditorModule,\r\n\t\tNgxMaterialTimepickerModule,\r\n\t\tInputMaskModule,\r\n\t\tFormsModule,\r\n\t\tHttpClientModule,\r\n\t\tNgbModule,\r\n\t\tRouterModule,\r\n\t\tColorPickerModule,\r\n\t\tZXingScannerModule,\r\n\t\tGoogleMapsModule,\r\n\t\tSortablejsModule.forRoot({ animation: 150 }),\r\n\t\tLuxonModule,\r\n\t\tTextFieldModule\r\n\t],\r\n\texports: [\r\n\t\tFileUploadModule,\r\n\t\tServiceModule,\r\n\t\tDragDropModule,\r\n\t\tEditorModule,\r\n\t\tFormsModule,\r\n\t\tHttpClientModule,\r\n\t\tColorPickerModule,\r\n\t\tRouterModule,\r\n\t\tNgxMaterialTimepickerModule,\r\n\t\tInputMaskModule,\r\n\t\tZXingScannerModule,\r\n\t\tGoogleMapsModule,\r\n\t\tSortablejsModule,\r\n\t\tLuxonModule,\r\n\t\tTextFieldModule,\r\n\r\n\t\tyesNoPipe,\r\n\t\tyesBlankPipe,\r\n\t\tFormatAddressPipe,\r\n\t\tArraySortPipe,\r\n\t\tNgbModule,\r\n\t\tMapToIterable,\r\n\t\tCallbackPipe,\r\n\t\tPhonePipe,\r\n\t\tsummaryNumberPipe,\r\n\t\tSortableTableDirective,\r\n\t\tSortableColumnComponent,\r\n\t\tThumbnailDirective,\r\n\t\tDirectionsMapDirective,\r\n\t\tRatingComponent,\r\n\t\tPropertyItemGridComponent,\r\n\t\tAddressEditComponent,\r\n\t\tPropertyItemImageComponent,\r\n\t\tImagePopUpComponent,\r\n\t\tCustomerInvoiceArbitraryItemEditComponent,\r\n\t\tScheduleEditComponent,\r\n\t\tMakePaymentPartialComponent,\r\n\t\tsafeHtmlPipe,\r\n\t\tMessageContentPopUpComponent,\r\n\t\tDateTimeToFormatHideMidnightPipe\r\n\t],\r\n\tproviders: [\r\n\t\tSortService,\r\n\r\n\t],\r\n\tdeclarations: [\r\n\t\tFormatAddressPipe,\r\n\t\tArraySortPipe,\r\n\t\tMapToIterable,\r\n\t\tCallbackPipe,\r\n\t\tSortableTableDirective,\r\n\t\tSortableColumnComponent,\r\n\t\tPhonePipe,\r\n\t\tyesNoPipe,\r\n\t\tyesBlankPipe,\r\n\t\tAutofocusDirective,\r\n\t\tThumbnailDirective,\r\n\t\tsummaryNumberPipe,\r\n\t\tDirectionsMapDirective,\r\n\t\tRatingComponent,\r\n\t\tsafeHtmlPipe,\r\n\t\tPropertyItemGridComponent,\r\n\t\tAddressEditComponent,\r\n\t\tPropertyItemImageComponent,\r\n\t\tImagePopUpComponent,\r\n\t\tCustomerInvoiceArbitraryItemEditComponent,\r\n\t\tScheduleEditComponent,\r\n\t\tMakePaymentPartialComponent,\r\n\t\tMessageContentPopUpComponent,\r\n\t\tDateTimeToFormatHideMidnightPipe\r\n\t],\r\n\tentryComponents: [\r\n\t\tImagePopUpComponent\r\n\t]\r\n\r\n})\r\nexport class LocalCommonModule {\r\n\tstatic forRoot() {\r\n\t\treturn {\r\n\t\t\tngModule: LocalCommonModule,\r\n\t\t\tproviders: [\r\n\t\t\t\t{ provide: NgbDateParserFormatter, useClass: ECINgbDateParserFormatter },\r\n\t\t\t\t{ provide: NgbDateAdapter, useClass: NgbDateStringAdapter },\r\n\t\t\t\t{ provide: NgbTimeAdapter, useClass: NgbTimeStringAdapter },\r\n\r\n\t\t\t],\r\n\t\t}\r\n\t}\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","/***************************************************************************************************\r\n * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.\r\n */\r\nimport '@angular/localize/init';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nexport function getBaseUrl() { \r\n return document.getElementsByTagName('base')[0].href;\r\n}\r\ndeclare var angConfig: any;\r\n \r\nconst providers = [\r\n { provide: 'BASE_URL', useFactory: getBaseUrl },\r\n { provide: 'myconfig', useValue: angConfig }\r\n];\r\n//tests\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic(providers).bootstrapModule(AppModule)\r\n .catch(err => console.log(err));\r\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".homeMinHeight { line-height: 250px; }\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/Components/3rdParty/ViewerComponent.ts\"],\"names\":[],\"mappings\":\"AAAA,iBAAiB,kBAAkB,EAAE\",\"sourcesContent\":[\".homeMinHeight { line-height: 250px; }\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\\r\\n.rating {\\r\\n\\tfloat: left;\\r\\n}\\r\\n\\r\\n\\t.rating:not(:checked) > input {\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\ttop: -9999px;\\r\\n\\t\\tclip: rect(0,0,0,0);\\r\\n\\t}\\r\\n\\r\\n\\t.rating:not(:checked) > label {\\r\\n\\t\\tfloat: right;\\r\\n\\t\\twidth: 1em;\\r\\n\\t\\tpadding: 0.1em;\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\twhite-space: nowrap;\\r\\n\\t\\tfont-size: 200%;\\r\\n\\t\\tline-height: 1.2;\\r\\n\\t\\tcolor: #aaa;\\r\\n\\t}\\r\\n\\r\\n.activeRating:not(:checked) > label {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n\\t\\t.rating:not(:checked) > label:before {\\r\\n\\t\\t\\tcontent: '★ ';\\r\\n\\t\\t}\\r\\n\\r\\n\\tspan.rating,\\r\\n\\t.rating > input:checked ~ label {\\r\\n\\t\\tcolor: #f70;\\r\\n\\t}\\r\\n\\r\\n.activeRating:not(:checked) > label:hover,\\r\\n.activeRating:not(:checked) > label:hover ~ label {\\r\\n\\tcolor: gold;\\r\\n}\\r\\n\\r\\n\\r\\n.activeRating > input:checked ~ label:hover,\\r\\n.activeRating > input:checked ~ label:hover ~ label,\\r\\n.activeRating > label:hover ~ input:checked ~ label {\\r\\n\\tcolor: #ea0;\\r\\n}\\r\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/Components/3rdParty/Rating/ratingcomponent.css\"],\"names\":[],\"mappings\":\";AACA;CACC,WAAW;AACZ;;CAEC;EACC,kBAAkB;EAClB,YAAY;EACZ,mBAAmB;CACpB;;CAEA;EACC,YAAY;EACZ,UAAU;EACV,cAAc;EACd,gBAAgB;EAChB,mBAAmB;EACnB,eAAe;EACf,gBAAgB;EAChB,WAAW;CACZ;;AAED;CACC,eAAe;AAChB;;EAEE;GACC,aAAa;EACd;;CAED;;EAEC,WAAW;CACZ;;AAED;;CAEC,WAAW;AACZ;;;AAGA;;;CAGC,WAAW;AACZ\",\"sourcesContent\":[\"\\r\\n.rating {\\r\\n\\tfloat: left;\\r\\n}\\r\\n\\r\\n\\t.rating:not(:checked) > input {\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\ttop: -9999px;\\r\\n\\t\\tclip: rect(0,0,0,0);\\r\\n\\t}\\r\\n\\r\\n\\t.rating:not(:checked) > label {\\r\\n\\t\\tfloat: right;\\r\\n\\t\\twidth: 1em;\\r\\n\\t\\tpadding: 0.1em;\\r\\n\\t\\toverflow: hidden;\\r\\n\\t\\twhite-space: nowrap;\\r\\n\\t\\tfont-size: 200%;\\r\\n\\t\\tline-height: 1.2;\\r\\n\\t\\tcolor: #aaa;\\r\\n\\t}\\r\\n\\r\\n.activeRating:not(:checked) > label {\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n\\t\\t.rating:not(:checked) > label:before {\\r\\n\\t\\t\\tcontent: '★ ';\\r\\n\\t\\t}\\r\\n\\r\\n\\tspan.rating,\\r\\n\\t.rating > input:checked ~ label {\\r\\n\\t\\tcolor: #f70;\\r\\n\\t}\\r\\n\\r\\n.activeRating:not(:checked) > label:hover,\\r\\n.activeRating:not(:checked) > label:hover ~ label {\\r\\n\\tcolor: gold;\\r\\n}\\r\\n\\r\\n\\r\\n.activeRating > input:checked ~ label:hover,\\r\\n.activeRating > input:checked ~ label:hover ~ label,\\r\\n.activeRating > label:hover ~ input:checked ~ label {\\r\\n\\tcolor: #ea0;\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"\", \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","/* (ignored) */"],"names":["Component","Input","Output","EventEmitter","RatingComponent","constructor","ngOnInit","inputName","itemId","Date","now","toString","Math","ceil","random","onClick","rating","ReadOnly","ratingChange","emit","ratingClick","selector","template","ActivatedRoute","takeUntil","AuthService","BaseBusyableComponent","ConfigService","PropertyItemDocumentService","pdfDefaultOptions","ViewerComponent","configData","authService","myPropertyItemDocumentService","route","assetsFolder","user","params","subscribe","id","DefaultEmptyGuid","loadItem","login","downloadDoc","pipe","obsToCloseSubject","obj","blob","blobResponse","error","goHome","NgbActiveModal","BaseEditPopUpComponent","PropertyItemService","CustomerPropertyItemEditComponent","iactiveModal","myPropertyItemService","activeModal","item","myItem","saveItem","form","isSaving","saveCustomerFields","returnVal","closePopUp","showValidationErrors","ConfirmComponent","cancel","result","close","ErrorPopUpComponent","saveAs","ImagePopUpComponent","setBlob","iBlob","idx","col","myIndex","allDocCol","loadOverlay","file","blobToBase64","then","dataStr","dataSrc","fileName","nextAllowed","getListLength","next","loadIDX","prevAllowed","prev","length","newIDX","overlayText","myDoc","IsEmptyGuid","PickupDeliveryItemID","OverlayText","innerIDX","listLength","thisHolder","PropertyItemDocumentID","AppInjector","LogInErrorPopUpComponent","get","LogInErrorPopUpComponent_1","MessageContentPopUpComponent","timer","PopUpBusyComponent","BusyText","words","cnter","ngOnDestroy","sub","unsubscribe","err","cancelOperation","ViewChild","BarcodeFormat","ScannerPopUpComponent","searchText","QR_CODE","CODE_93","CODE_39","CODE_128","UPC_A","scanSuccess","scanResult","camerasNotFound","devices","qrResult","camerasFound","cams","availableDevices","console","log","selectedDevice","camStarted","visible","_visible","val","onChange","selectedValue","args","debounceTime","distinctUntilChanged","filter","map","switchMap","SearchService","StorageSpaceService","PropertyItemMoveBulkComponent","mySearchService","myStorageSpaceService","myActiveModal","value","FullStorageName","text$","term","a","trim","search","searchObj","SearchText","TypeObject","NewStorageSpaceID","ID","NewStorageSpaceName","SearchName","onSelectSpace","$event","preventDefault","StorageSpaceID","moveBulk","Subject","TypeCountryService","AddressEditComponent","myTypeCountryService","Country","complete","loadAll","data","countries","changeCountry","addressChanged","zipChange","fillAddress","placeSuggestions","service","google","maps","Geocoder","geocode","placeId","place_id","results","status","postalCodes","address_components","types","indexOf","ZipCode","long_name","cities","City","states","State","short_name","nums","routes","Address1","Latitude","geometry","location","lat","Longitude","lng","formatAddress","address","addressString","Address2","replace","ngAfterViewInit","keyUpSub","addressKeyUp","evnt","addr","deepClone","AddressID","c","p","addressLookup","myAddress","showSuggestions","displaySuggestions","predictions","places","PlacesServiceStatus","OK","forEach","prediction","push","desc","description","AutocompleteService","getPlacePredictions","input","componentRestrictions","country","countryName","trigger","TypeName","TypeStateCol","DateTime","CustomerInvoiceItemService","CustomerInvoiceArbitraryItemEditComponent","myCustomerInvoiceItemService","aModal","invoiceID","customerID","getArbitraryEdit","CustomerInvoiceArbitraryItemID","CustomerInvoiceID","CustomerAccountID","DateApplies","local","startOf","toJSDate","saveArbitrary","dropin","PaymentService","MakePaymentPartialComponent","myPaymentService","payInfo","PickupDeliveryID","btInstance","thisholder","obs","getAnonToken","getCustomerToken","token","create","authorization","container","createErr","dropinInstance","errStr","message","isPaymentMethodRequestable","disabled","on","event","type","paymentMethodIsSelected","runPayment","requestPaymentMethod","payload","nonce","progress","runPublicPayment","pmt","PaymentAmount","TipAmount","success","PropertyFilter","NgbModal","PropertyItemGridComponent","mymodalService","sortCriteria","sortColumn","sortDirection","employee","isEmployee","filterEmitter","asObservable","fobj","innerFilterItems","newBtnClicked","newClicked","bulkMove","allowBulkMove","moveObjs","filteredItems","IsSelected","APICanIMoveThis","idsToMove","PropertyItemID","modal","open","componentInstance","PropertyItemIDs","refresh","refreshData","reason","allowMove","inspectBtnClicked","inspectClicked","moveBtnClicked","moveClicked","items","_items","filterObj","onSort","newCriteria","SortArray","preventClick","evt","stopPropagation","filterItems","itemsFiltered","popUpEdit","splice","PropertyItemDocumentPurposeEnumHelper","Router","PropertyItemDocumentPurposeEnum","PropertyItemImageComponent","myRouter","photoHolder","vals","myImgObj","nativeElement","style","maxHeight","_maxHeight","makePhotoHolder","getPropertyItemImages","getPickupDeliveryImages","pEnum","hasEnum","Value","isPickupDeliveryItem","needsRedBorder","DamageImage","ImagePurpose","loadPopUp","popControl","canUpload","rotateAllowed","APICanIEditThis","IsImage","deleteAllowed","APICanIDeleteThis","rotateDoc","dialogService","confirm","rotate","rotated","thumbBase64","base64Content","loadImageStuff","second","deleteDoc","deleteItem","deleted","togglePurpose","allowLabelChanges","enums","pDoc","labelChanged","size","myPropItemCol","IsPdf","url","serializeUrl","createUrlTree","window","qs","downloadThumb","doc","propItemCol","_canUpload","HostListener","ScheduleItemService","Guid","ScheduleEditComponent","myService","Text","preface","isSmallScreen","innerWidth","sizeEmitter","width","onResize","addSchedule","getNewSchedule","newSched","showTime","TimeStart","fromObject","hour","toLocaleString","TIME_SIMPLE","TimeFinish","removeSchedule","sched","changePeriod","RepeatEveryPeriod","clearOut","RepeatOnSunday","RepeatOnMonday","RepeatOnTuesday","RepeatOnWednesday","RepeatOnThursday","RepeatOnFriday","RepeatOnSaturday","AuthCallbackComponent","snapshot","fragment","completeAuthentication","returnPath","href","SilentCallbackComponent","silentCallback","SupportCallbackComponent","clearUserInfo","actConfirmComponent","emailConfirmComponent","ReportsService","ReportsShellComponent","myReportsService","toggleShow","showMenu","setSavedSetting","getSavedSetting","PersonRoleEnum","SettingsShellComponent","subscription","authNavStatus$","loadData","isAdmin","IsUserInRole","ADMIN","isSuperAdmin","SUPERADMIN","navigate","companyID","Renderer2","fromEvent","SideMenuComponent","renderer","showNewOrders","isDriver","isDispatch","showOrdersList","isManuallyClosed","setBodyClassesBySize","toggleMenuOpenClosedState","manualResizeSubscription$","whenmenuChangedManually","resizeObservable$","resizeSubscription$","authSubscription","setPermissions","isWarehouseCustomer","isWarehouse","isCustomer","isCustomerUser","isMasterCustomer","WAREHOUSE","IsUserInRoleInternal","DRIVER","DISPATCH","toggleBodyClass","className","document","body","classList","contains","removeClass","addClass","clientWidth","isSmall","StorageShellComponent","dividerSize","signalR","catchError","of","tap","DialogService","PersonService","HeaderComponent","myModalService","myPersonService","isSearching","stopConnection","hubConnection","HubConnectionState","Connected","state","promises","invoke","userID","Promise","all","stop","undefined","startConnection","HubConnectionBuilder","withUrl","baseUrl","build","start","update","catch","isAuthenticated","isLoggedIn","isAuthed","name","customerName","cacheBuster","millisecond","isSupportMode","isDeveloper","DEVELOPER","removeSupport","removeSupportMode","msg","finally","changeMenuWidth","menuChangedManually","selectItem","goToSearchResult","navigateByUrl","qrScan2","modalRef","scannerComponent","logIn","updateUserInfo","signout","Injectable","NgbDateParserFormatter","NgbDateAdapter","padNumber","isNumber","slice","isNaN","toInteger","parseInt","makeYear","ECINgbDateParserFormatter","parse","dateParts","split","year","substr","month","day","format","date","stringDate","NgbDateNativeAdapter","fromModel","getFullYear","getMonth","getDate","toModel","NgbDateStringAdapter","newDate","dt","fromJSDate","endsWith","toUTC","lxDate","toJSON","DirectionsMapDirective","strokeWeight","strokeOpacity","strokeColor","_directionsService","DirectionsService","totalMiles","meters","mapPaths","lh","Meters","MilesToKM","showMiles","_showMiles","streetView","_streetView","_map","setOptions","streetViewControl","googleMap","fullscreenControl","styles","featureType","stylers","visibility","getmap","setMap","useSymbols","_useSymbols","useStraightLine","_useStraightLine","setDataBulk","bulkData","clearFirst","mapData","ngOnChanges","setData","bounds","LatLngBounds","addPathToMap","isEmpty","fitBounds","panToBounds","isTruckPointFarEnoughToShow","pt1","pt2","getDistanceFromLatLonInKm","minTruckDistanceInKM","lat1","lon1","lat2","lon2","R","dLat","deg2rad","dLon","sin","cos","atan2","sqrt","d","deg","PI","getNearestPoint","pt","sItem","distance","_truckPoints","newDist","setTruckMap","truckMapPoints","truckPath","lastPoint","tPt","extend","points","flightPath","Polyline","path","geodesic","infoWindow","wdw","InfoWindow","addListener","closePt","latLng","setPosition","setContent","fromISO","time","DATETIME_MED","_changes","remap","clear","mp","clearMap","lineHolder","fit","single","allPoints","isDifferentLocation","setTimeout","setCenter","getAsLocation","setZoom","source","thisPt","sLoc","eLoc","drawStraightLines","loc","opts","Object","assign","_polylineOptions","color","straightLineHolder","startingPoint","endingPoint","wayPoints","clearSubscription","onlyPoints","addMarkers","directionsResult","directionsRenderer","setDirections","routeRequest","includeWalking","req","buildDirectionsRequest","checkAgain","response","DirectionsStatus","legs","leg","directionsDisplay","DirectionsRenderer","draggable","suppressMarkers","polylineOptions","GmapMarkerTypeEnum","GmapTruckPoint","GmapPoint","MakePoint","stopNum","stopNumber","markerTypes","getAsDirectionsWaypoint","stopover","GmapDirectionsDataHolder","wPoints","allMarkers","i","wpoint","imap","getMap","mark","getPosition","itext","ititle","count","isCompleted","isCancelled","isWarehouseOrCustomerLocation","IsWarehouseOrCustomerLocation","mt","Completed","Cancelled","Assembly","Delivery","Pickup","Break","WarehousePickup","WarehouseDelivery","Start","ServiceOnly","Finish","Removal","Exchange","NotifyItems","pinSVGFilled","squaremarker","starMarker","borderColor","opac","markerImageToUse","fontSize","markerpoint","Point","labelOriginFilled","markerScale","changeTypes","markerImage","anchor","fillOpacity","fillColor","scale","labelOrigin","mkr","Marker","position","label","text","fontFamily","title","icon","clickFunction","setClickable","tm","TravelMode","DRIVING","WALKING","origin","destination","waypoints","avoidHighways","travelMode","Pipe","DateTimeToFormatHideMidnightPipe","transform","strVal","toFormat","PhonePipe","numb","match","join","areaCode","number","NgbTimeAdapter","NgbTimeNativeAdapter","getUTCHours","minute","getUTCMinutes","getUTCSeconds","today","getDay","NgbTimeStringAdapter","pad","Directive","ElementRef","AutofocusDirective","el","ngAfterContentInit","focus","CallbackPipe","callback","searchStr","Array","isArray","array","pure","DomSanitizer","FormatAddressPipe","sanitizer","IsLatLongInvalid","bypassSecurityTrustHtml","MapToIterable","parameters","keys","sort","b","toLowerCase","localeCompare","key","safeHtmlPipe","ArraySortPipe","field","summaryNumberPipe","parseFloat","round","NgFor","NgIf","NgTemplateOutlet","NgbToastModule","ToastsContainer","toastService","needsButton","toast","onclick","click","call","imports","host","class","ThumbnailDirective","changes","reader","FileReader","onloadend","readerEvent","myimage","Image","onload","imageEvent","canvas","createElement","maxSize","height","getContext","drawImage","src","toDataURL","image","readAsDataURL","yesBlankPipe","yesNoPipe","ItemStorageChargeTypeEnum","getChoices","ReceivingFee","PullForDelivery","HandlingFee","WillCallFee","OversizeFee","RepairFee","SpecialStorageCharge","AssemblyFee","UnstackableFee","CratedOrPalletizedFee","InspectionFee","PickupDeliveryItemActionEnum","Move","Remove","Overweight","FeltPad","PickupDeliveryTypeEnum","PickupDelivery","HourlyPickupDelivery","Return","WillCall","Nothing","PrimaryImage","ReceivingImage","StorageImage","RepairImage","FinalPlacementImage","InspectionImage","SignatureImage","DoorJambImage","PickupImage","PickupDeliveryItemActionEnumHelper","getPublicChoices","IsPublicEntryForbidden","PickupDeliveryTypeEnumHelper","IsSingleStop","serviceType","ItemStorageChargeTypeEnumHelper","includeSystemPriced","isSystemPriced","includeNothing","IsPropertyItem","IsPickupDeliveryItem","TypeMessageEnumLimits","BaseFilter","isStringMatch","haystack","needle","isPUDDescriptionMatch","Description","Sidemark","DestinationRoom","Manufacturer","AccountNumber","PropNumber","isDescriptionMatch","filterPUDItems","isOk","DateArrivedLocal","arrivedLocal","dateStart","dateFinish","customer","CustomerAccountName","needsInspection","NeedsInspection","needsRepair","NeedsRepair","RoleAuthGuard","canActivate","roleDecide","canActivateChild","allowedRoles","role","AuthGuard","router","canLoad","HttpHeaders","firstValueFrom","from","lastValueFrom","AuthInterceptor","_authService","_router","authRenew","isAuthedButExpired","intercept","innerIntercept","startsWith","apiBaseUrl","newheaders","getMyHeaders","authorizedRequest","clone","headers","handle","respError","set","token_type","access_token","UserManager","BehaviorSubject","AppModule","_authNavStatusSource","manager","jsAppConfig","getUser","usr","expired","needsLogin","forRoot","ngModule","providers","whereAreWe","signinRedirect","extraQueryParams","sc","getSubDomain","returnUrl","redirectPath","clearStaleState","signinRedirectCallback","removeUser","resolve","signinSilent","signinSilentCallback","signoutRedirect","providedIn","parseUri","str","o","options","m","parser","strictMode","exec","uri","q","$0","$1","$2","strict","loose","setAppInjector","injector","busymodalService","makeNameUnique","hideBusyModal","addressToLatLngEvenInvalid","point","addressToLatLng","fileOverBase","e","hasBaseDropZoneOver","fixPdfButtons","querySelectorAll","elem","setAttribute","settingName","pageName","storeName","savedData","localStorage","getItem","JSON","setItem","stringify","goBack","history","back","_isSaving","startBusyTimer","cancelBusyOperation","busymodal","clearTimeout","getErrorsFromResponse","errors","any","hasOwnProperty","BaseEditComponent","editorConfig","tinyMCEConfig","validationErrors","fieldName","substring","itemControlName","controls","markAsTouched","setErrors","cancelAfterSave","reset","setLiveCSS","property","HttpClient","lbDate","NEVER","throwError","BaseService","_http","modalService","getDateStr","showError","hideErrorAlert","caught","showLogInError","myErrorObj","Message","bodyMsg","ExceptionMessage","StackTrace","TranslateWords","IfThisContinuesSendDevelopers","cache","myThrowError","getPlain","FailedToLoadItems","getEdit","getWithParams","getWOError","rawWithParams","errorMessage","getPlainErrorOption","getPlainErrorOptionWithStatusCode","resp","content","observe","res","version","shouldShowVersionAlert","NewVersion","FailedToReload","save","tempItem","post","postBlob","bodyString","innerStringify","responseType","Failed","Blob","getFileName","loadBlob","loadBlobAndHeaders","run","popUpError","reportProgress","postWithStatusCode","deleteWithParams","delete","HttpErrorResponse","BlobErrorHttpInterceptor","reject","errmsg","target","statusText","onerror","readAsText","Inject","Duration","apiConfig","AppConfig","allTimeZones","gMapsApiKey","viewingAsRole","ViewingAsRole","serverVersion","innerDateReplaceToJSON","timezoneOffsetInHours","getTimezoneOffset","toISOString","sign","leadingZero","abs","correctedDate","getHours","getMinutes","getSeconds","getMilliseconds","setHours","iso","prototype","niceTimeFormat","minutes","duration","normalize","shiftTo","pieces","days","hours","toHuman","unitDisplay","isSameDate","date1","date2","convertDate","toISODate","menuChangedManuallySubject","nodeType","cloneNode","getTime","RegExp","invalidProperties","myArray","cols","directions","dirLength","colName","firstCol","secondCol","direction","stringChanged","stateCompare","sortValue","cityCompare","addrCompare","addrCompare2","sortType","alphanum","allChunks","roundNumber","num","decimalDigits","power","pow","char","isValidDate","toUpperCase","Number","s1","s2","len1","len2","marker1","marker2","ch1","ch2","space1","loc1","space2","loc2","str1","str2","thisNumericChunk","thatNumericChunk","ordinalNumber","dayName","weekdayLong","ordinalWeekDay","myVal","dayNum","daysInMonth","trackDate","weekNumber","plus","monthName","monthLong","AddressToSingleLineWithoutWhiteSpace","addrStr","IsSameAddress","addr1","addr2","addr1Str","addr2Str","profile","isEmailConfirmed","EmailConfirmed","SYSTEMROLEEMPLOYEE","SYSTEMROLEMASTERCUSTOMERACCOUNT","SYSTEMROLECUSTOMERACCOUNT","SUPPORTPERSON","SYSTEMROLECUSTOMERMASTERPERSONACTIVE","SYSTEMROLEWAREHOUSECUSTOMERACCOUNT","cust_id","defaultCompanyID","CompanyID","_companyID","roleSystemCode","includeSystemAdminCheck","roles","versionNum","ConfigService_1","alreadyPoppedUp","MakeTimeQS","UrlService","AgreementService","myBaseService","urlService","getURL","loadAllForMaster","AgreementMasterService","publish","AppUserService","loadAllForPerson","ChatMessageService","getUnreadDispatchCount","markRead","ChecklistService","loadAllForCompany","loadAllMasters","copy","download","searchTerm","ChecklistTaskService","loadAllForChecklist","ChecklistTaskStatusChangeService","CommunicationTemplateService","list","custID","getTokens","CompanyService","activeOnly","getOverallSettings","saveOverallSettings","getBT","saveBT","getTwilio","saveTwilio","CompanyEmailService","CompanyEmailDomainService","getDNS","CompanyPhoneNumberService","searchAreaCode","CompanyPromoCodeService","CustomerAccountService","DownloadRates","active","loadAllForSource","searchMaster","withNulls","getDeliveryZones","saveDeliveryZones","CustomerInvoiceService","loadAllUnpaid","loadAllForCustomer","getBreakdownReport","invoicePickupDelivery","invoiceCustomer","loadAllForInvoice","searchVM","DeliveryZoneService","loadAllForDeliveryZoneGroup","DeliveryZoneGroupService","EndUserCommunicationTrackerService","loadAllForShipment","loadContent","loadAllForPickupDelivery","resend","sms","ImportFileTemplateService","getColumnEdit","saveColumn","getPropertyColumnEdit","savePropertyColumn","LogService","forWholeOrder","OutsideLogService","getPublicData","getPublicDataForVM","vm","confirmPaymentNonce","custid","payment","sendResetPassword","addSupportMode","PhoneAppService","getInstructions","lang","sendInstructions","PickupDeliveryService","loadScheduleErrors","loadWillCall","loadAllMissingReservationData","loadAllInvalidAddresses","loadAllForUploadedFile","loadAllNeedsRescheduling","loadAllUnscheduled","getOrderSettings","saveItems","bulkAction","cancelItem","cancelObj","getEditItems","getPickList","getPickListForDate","addFees","includePickup","includeWillCall","getQRCode","getSignImageText","getSign","getAnonEdit","saveAnon","getScheduleEdit","saveSchedule","pickup","deliver","startPickup","startDeliver","labelSearch","searchForSuveys","getPricingData","getPricingDataByID","getPricingDataForItems","manualComplete","markCancellationHandled","fixAddress","PickupDeliveryExtraFeeService","PickupDeliverySpecialItemService","loadAllStored","loadHistoryForItem","loadForShipment","loadAllForSpace","spaceID","loadAllNeedingInspection","loadAllNeedingRepair","loadAllNeedingStorage","loadStoredForCustomer","includeAll","unstore","changeCustomer","saveSpecialItem","getEditCustomer","getStorageLabel","getShipmentBOLLabel","move","moveObj","loadAllForTask","loadAllForItem","loadAllForPickupDeliveryItem","loadAllForInspection","loadAllForTypePropertyItem","iUrl","downloadThumbForTypePropertyItem","downloadThumbForPropertyItem","downloadThumbForPickupDeliveryItem","PropertyItemInspectionService","loadNeedingApproval","approve","PropertyItemNoteService","PropertyItemSpecialItemService","QBService","connect","disconnect","auth","code","realmId","urlStr","ReferralSourceService","DriverExport","toISO","DriverExportCSV","PropertyTypeDownload","ValuePerTruck","ValuePerPerson","ValuePerOrder","InvoicedPerServiceType","StopsPerDay","BusinessActivity","DeliveriesAssemblies","WarehouseStorage","WarehouseStorageDownload","WarehouseActivity","WarehouseActivityDownload","StorageRevenue","StorageRevenueDownload","DeliveryActivity","DeliveryActivityDownload","FeltPads","FeltPadsDownload","ReservationService","getSuggestedDates","isDelivery","after","urlToUse","getTracker","getCompanyData","ValidateOffScheduleDate","dateStr","SatisfactionSurveyQuestionService","SatisfactionSurveyResponseService","getForQuestion","ScheduleService","loadForAllTrucks","loadForTruck","truckID","autoResort","sortPickups","iurl","lock","unlock","autoAssignTrucks","reshuffleTruck","deleteBreak","loadForDeliveryZoneGroup","loadOffScheduleForDeliveryZoneGroup","loadForCustomerAccount","ShipmentBOLService","getSplit","saveSplit","ShipmentBOLDocumentService","shipID","StorageLocationService","StorageRackService","loadAllForLocation","getStorageLabels","loadAllForRack","TimeZoneService","TruckService","loadAllForMeAfterDate","loadAssignmentsForTruckAndDate","td","TruckID","saveAssign","dateFixed","deleteAssignment","loadHistory","getLabel","TruckLocationService","loadForTruckAndDate","TypeCancellationReasonService","TypeCustomerAccountService","TypeOrderTagService","TypePaymentSourceService","TypePropertyItemService","TypeStorageFeeService","TypeTruckService","UploadedFileService","alreadyLogInError","errorBody","errorStack","errorTitle","showToast","toasts","removeToast","t","clearToasts","HttpResponse","MiniProfilerInterceptor","handler","MiniProfiler","makeMiniProfilerRequests","miniProfilerHeaders","getAll","miniProfilerIdHeaderValue","ids","fetchResults","RouterComponent","SortService","columnSortedSource","columnSorted","SortableColumnComponent","sortService","columnName","columnSortedSubscription","columnSorted$","SortableTableDirective","sorted","factoryName","HTTP_INTERCEPTORS","NgModule","Title","ServiceModule","declarations","provide","useClass","multi","entryComponents","RouterModule","loadChildren","HomeModule","component","CompanyModule","TREASURY","children","ReportsModule","PersonModule","redirectTo","pathMatch","StorageLocationModule","PropertyItemModule","ShipmentBOLModule","WillCallModule","CommunicationTemplateModule","AppInstructionsModule","CommViaModule","TypeCountryModule","TypeCustomerAccountModule","TypeStorageFeeModule","TypeCancellationReasonModule","TypeOrderTagModule","TypePaymentSourceModule","ReferralSourceModule","TypePropertyItemModule","TypeTruckModule","SatisfactionSurveyQuestionModule","CompanyPromoCodeModule","DeliveryZoneGroupModule","TruckModule","ChecklistModule","AgreementMasterModule","DispatchMapModule","ChatMessageModule","UploadedFileModule","CustomerInvoiceModule","PaymentModule","PickupDeliveryModule","PickupDeliveryDriverModule","CustomerAccountModule","SatisfactionSurveyResponseModule","ReservationsModule","PickupDeliveryPublicModule","AppRoutingModule","scrollPositionRestoration","exports","AppComponent","myAuthService","Injector","BrowserAnimationsModule","LocalCommonModule","NgxExtendedPdfViewerModule","bootstrap","CommonModule","HttpClientModule","FormsModule","GoogleMapsModule","NgbModule","ZXingScannerModule","FileUploadModule","ColorPickerModule","NgxMaterialTimepickerModule","InputMaskModule","EditorModule","SortablejsModule","LuxonModule","TextFieldModule","DragDropModule","LocalCommonModule_1","animation","environment","production","enableProdMode","platformBrowserDynamic","getBaseUrl","getElementsByTagName","useFactory","useValue","angConfig","bootstrapModule"],"sourceRoot":"webpack:///","x_google_ignoreList":[]}