@aggdirect/coolmap 2.0.8 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +34 -1
- package/esm2020/aggdirect-coolmap.mjs +5 -0
- package/esm2020/lib/component/add-route/add-route.component.mjs +317 -0
- package/esm2020/lib/component/job-code/job-code.component.mjs +174 -0
- package/esm2020/lib/component/map/map.component.mjs +37 -0
- package/esm2020/lib/component/nav/layout/add-route-nav/add-route-nav.component.mjs +145 -0
- package/esm2020/lib/component/nav/layout/job-code-nav/job-code-nav.component.mjs +114 -0
- package/esm2020/lib/component/nav/nav.component.mjs +52 -0
- package/esm2020/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.mjs +72 -0
- package/esm2020/lib/component/route-jobcode-list/route-jobcode-list.component.mjs +314 -0
- package/esm2020/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.mjs +19 -0
- package/esm2020/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.mjs +29 -0
- package/esm2020/lib/component/shared/dialog/dialog.component.mjs +29 -0
- package/esm2020/lib/component/shared/estimation-display/estimation-display.component.mjs +19 -0
- package/esm2020/lib/component/shared/job-route-list/job-route-list.component.mjs +71 -0
- package/esm2020/lib/component/shared/jobcode-overview/jobcode-overview.component.mjs +19 -0
- package/esm2020/lib/component/shared/jobcode-status/jobcode-status.component.mjs +14 -0
- package/esm2020/lib/coolmap.module.mjs +182 -0
- package/esm2020/public-api.mjs +19 -0
- package/fesm2015/aggdirect-coolmap.mjs +1524 -0
- package/fesm2015/aggdirect-coolmap.mjs.map +1 -0
- package/fesm2020/aggdirect-coolmap.mjs +1490 -0
- package/fesm2020/aggdirect-coolmap.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/component/add-route/add-route.component.d.ts +61 -60
- package/lib/component/job-code/job-code.component.d.ts +40 -29
- package/lib/component/map/map.component.d.ts +15 -12
- package/lib/component/nav/layout/add-route-nav/add-route-nav.component.d.ts +49 -36
- package/lib/component/nav/layout/job-code-nav/job-code-nav.component.d.ts +42 -34
- package/lib/component/nav/nav.component.d.ts +31 -28
- package/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.d.ts +20 -16
- package/lib/component/route-jobcode-list/route-jobcode-list.component.d.ts +42 -39
- package/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.d.ts +9 -6
- package/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.d.ts +11 -8
- package/lib/component/shared/dialog/dialog.component.d.ts +13 -10
- package/lib/component/shared/estimation-display/estimation-display.component.d.ts +9 -6
- package/lib/component/shared/job-route-list/job-route-list.component.d.ts +26 -21
- package/lib/component/shared/jobcode-overview/jobcode-overview.component.d.ts +9 -6
- package/lib/component/shared/jobcode-status/jobcode-status.component.d.ts +8 -5
- package/lib/coolmap.module.d.ts +43 -2
- package/package.json +40 -15
- package/public-api.d.ts +15 -16
- package/bundles/coolmap.umd.js +0 -1383
- package/bundles/coolmap.umd.js.map +0 -1
- package/bundles/coolmap.umd.min.js +0 -2
- package/bundles/coolmap.umd.min.js.map +0 -1
- package/coolmap.d.ts +0 -5
- package/coolmap.metadata.json +0 -1
- package/esm2015/coolmap.js +0 -6
- package/esm2015/coolmap.ngsummary.json +0 -1
- package/esm2015/lib/component/add-route/add-route.component.js +0 -309
- package/esm2015/lib/component/add-route/add-route.component.ngfactory.js +0 -304
- package/esm2015/lib/component/add-route/add-route.component.ngsummary.json +0 -1
- package/esm2015/lib/component/job-code/job-code.component.js +0 -116
- package/esm2015/lib/component/job-code/job-code.component.ngfactory.js +0 -77
- package/esm2015/lib/component/job-code/job-code.component.ngsummary.json +0 -1
- package/esm2015/lib/component/map/map.component.js +0 -39
- package/esm2015/lib/component/map/map.component.ngfactory.js +0 -23
- package/esm2015/lib/component/map/map.component.ngsummary.json +0 -1
- package/esm2015/lib/component/nav/layout/add-route-nav/add-route-nav.component.js +0 -79
- package/esm2015/lib/component/nav/layout/add-route-nav/add-route-nav.component.ngfactory.js +0 -142
- package/esm2015/lib/component/nav/layout/add-route-nav/add-route-nav.component.ngsummary.json +0 -1
- package/esm2015/lib/component/nav/layout/job-code-nav/job-code-nav.component.js +0 -82
- package/esm2015/lib/component/nav/layout/job-code-nav/job-code-nav.component.ngfactory.js +0 -194
- package/esm2015/lib/component/nav/layout/job-code-nav/job-code-nav.component.ngsummary.json +0 -1
- package/esm2015/lib/component/nav/nav.component.js +0 -54
- package/esm2015/lib/component/nav/nav.component.ngfactory.js +0 -43
- package/esm2015/lib/component/nav/nav.component.ngsummary.json +0 -1
- package/esm2015/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.js +0 -66
- package/esm2015/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.ngfactory.js +0 -46
- package/esm2015/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.ngsummary.json +0 -1
- package/esm2015/lib/component/route-jobcode-list/route-jobcode-list.component.js +0 -301
- package/esm2015/lib/component/route-jobcode-list/route-jobcode-list.component.ngfactory.js +0 -99
- package/esm2015/lib/component/route-jobcode-list/route-jobcode-list.component.ngsummary.json +0 -1
- package/esm2015/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.js +0 -20
- package/esm2015/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.ngfactory.js +0 -21
- package/esm2015/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.ngsummary.json +0 -1
- package/esm2015/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.js +0 -30
- package/esm2015/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.ngfactory.js +0 -30
- package/esm2015/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.ngsummary.json +0 -1
- package/esm2015/lib/component/shared/dialog/dialog.component.js +0 -29
- package/esm2015/lib/component/shared/dialog/dialog.component.ngfactory.js +0 -24
- package/esm2015/lib/component/shared/dialog/dialog.component.ngsummary.json +0 -1
- package/esm2015/lib/component/shared/estimation-display/estimation-display.component.js +0 -20
- package/esm2015/lib/component/shared/estimation-display/estimation-display.component.ngfactory.js +0 -23
- package/esm2015/lib/component/shared/estimation-display/estimation-display.component.ngsummary.json +0 -1
- package/esm2015/lib/component/shared/job-route-list/job-route-list.component.js +0 -63
- package/esm2015/lib/component/shared/job-route-list/job-route-list.component.ngfactory.js +0 -134
- package/esm2015/lib/component/shared/job-route-list/job-route-list.component.ngsummary.json +0 -1
- package/esm2015/lib/component/shared/jobcode-overview/jobcode-overview.component.js +0 -20
- package/esm2015/lib/component/shared/jobcode-overview/jobcode-overview.component.ngfactory.js +0 -19
- package/esm2015/lib/component/shared/jobcode-overview/jobcode-overview.component.ngsummary.json +0 -1
- package/esm2015/lib/component/shared/jobcode-status/jobcode-status.component.js +0 -16
- package/esm2015/lib/component/shared/jobcode-status/jobcode-status.component.ngfactory.js +0 -17
- package/esm2015/lib/component/shared/jobcode-status/jobcode-status.component.ngsummary.json +0 -1
- package/esm2015/lib/coolmap.component.js +0 -18
- package/esm2015/lib/coolmap.component.ngfactory.js +0 -16
- package/esm2015/lib/coolmap.component.ngsummary.json +0 -1
- package/esm2015/lib/coolmap.module.js +0 -108
- package/esm2015/lib/coolmap.module.ngfactory.js +0 -46
- package/esm2015/lib/coolmap.module.ngsummary.json +0 -1
- package/esm2015/public-api.js +0 -20
- package/esm2015/public-api.ngsummary.json +0 -1
- package/fesm2015/coolmap.js +0 -1317
- package/fesm2015/coolmap.js.map +0 -1
- package/lib/component/add-route/add-route.component.ngfactory.d.ts +0 -1
- package/lib/component/job-code/job-code.component.ngfactory.d.ts +0 -1
- package/lib/component/map/map.component.ngfactory.d.ts +0 -1
- package/lib/component/nav/layout/add-route-nav/add-route-nav.component.ngfactory.d.ts +0 -1
- package/lib/component/nav/layout/job-code-nav/job-code-nav.component.ngfactory.d.ts +0 -1
- package/lib/component/nav/nav.component.ngfactory.d.ts +0 -1
- package/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.ngfactory.d.ts +0 -1
- package/lib/component/route-jobcode-list/route-jobcode-list.component.ngfactory.d.ts +0 -1
- package/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.ngfactory.d.ts +0 -1
- package/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.ngfactory.d.ts +0 -1
- package/lib/component/shared/dialog/dialog.component.ngfactory.d.ts +0 -1
- package/lib/component/shared/estimation-display/estimation-display.component.ngfactory.d.ts +0 -1
- package/lib/component/shared/job-route-list/job-route-list.component.ngfactory.d.ts +0 -1
- package/lib/component/shared/jobcode-overview/jobcode-overview.component.ngfactory.d.ts +0 -1
- package/lib/component/shared/jobcode-status/jobcode-status.component.ngfactory.d.ts +0 -1
- package/lib/coolmap.component.d.ts +0 -5
- package/lib/coolmap.component.ngfactory.d.ts +0 -1
- package/lib/coolmap.module.ngfactory.d.ts +0 -3
package/fesm2015/coolmap.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"coolmap.js","sources":["../../../projects/coolmap/src/lib/coolmap.component.ts","../../../projects/coolmap/src/lib/component/map/map.component.ts","../../../projects/coolmap/src/lib/component/nav/nav.component.ts","../../../projects/coolmap/src/lib/component/route-jobcode-list/route-jobcode-list.component.ts","../../../projects/coolmap/src/lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component.ts","../../../projects/coolmap/src/lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component.ts","../../../projects/coolmap/src/lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component.ts","../../../projects/coolmap/src/lib/component/job-code/job-code.component.ts","../../../projects/coolmap/src/lib/component/shared/jobcode-status/jobcode-status.component.ts","../../../projects/coolmap/src/lib/component/shared/job-route-list/job-route-list.component.ts","../../../projects/coolmap/src/lib/component/shared/jobcode-overview/jobcode-overview.component.ts","../../../projects/coolmap/src/lib/component/shared/dialog/dialog.component.ts","../../../projects/coolmap/src/lib/component/add-route/add-route.component.ts","../../../projects/coolmap/src/lib/component/nav/layout/add-route-nav/add-route-nav.component.ts","../../../projects/coolmap/src/lib/component/nav/layout/job-code-nav/job-code-nav.component.ts","../../../projects/coolmap/src/lib/component/shared/estimation-display/estimation-display.component.ts","../../../projects/coolmap/src/lib/coolmap.module.ts","../../../projects/coolmap/src/public-api.ts","../../../projects/coolmap/src/coolmap.ts"],"sourcesContent":["import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'lib-coolmap',\n template: `\n <p>\n coolmap works!\n </p>\n `,\n styles: [\n ]\n})\nexport class CoolmapComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Component, ElementRef, OnDestroy, ViewChild } from '@angular/core';\r\nimport { CoolmapService } from '@aggdirect/coolmap-services';\r\nimport { Subject } from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-map',\r\n templateUrl: './map.component.html',\r\n styleUrls: ['./map.component.css']\r\n})\r\nexport class MapComponent implements OnDestroy {\r\n @ViewChild('map', { static: true }) public mapDiv!: ElementRef;\r\n enableProgress: boolean = true;\r\n public destroyer$ = new Subject<boolean>();\r\n\r\n constructor( public coolmapService: CoolmapService ) { }\r\n\r\n ngAfterViewInit() {\r\n this.coolmapService.reintiatecoolmap.pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n this.enableProgress = true;\r\n if (res) {\r\n this.coolmapService.initiateMapForAddRoute(this.mapDiv.nativeElement).then((res) => {\r\n this.enableProgress = false;\r\n })\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyer$.next(true);\r\n this.destroyer$.unsubscribe();\r\n }\r\n}\r\n","import { Component, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { CoolmapService, UtilsService } from '@aggdirect/coolmap-services';\r\nimport { Subject } from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-nav',\r\n templateUrl: './nav.component.html',\r\n styleUrls: ['./nav.component.scss']\r\n})\r\nexport class NavComponent implements OnDestroy {\r\n @Output() public drawer = new EventEmitter<boolean>();\r\n @Output() public changeNav = new EventEmitter<string>();\r\n navValue: string = 'Jobcode';\r\n isnavChange: boolean = true;\r\n paddinForJobCode = { top: 0, bottom: 250, left: 500, right: 400 };\r\n paddinForViewRoute = { top: 0, bottom: 400, left: 400, right: 0 };\r\n public destroyer$ = new Subject<boolean>();\r\n\r\n constructor(public utils: UtilsService, public coolMap: CoolmapService) {\r\n this.utils.navChangeObserve.pipe(takeUntil(this.destroyer$)).subscribe(res => { this.isnavChange = res })\r\n this.coolMap.setPadding(this.paddinForJobCode);\r\n }\r\n\r\n openDrawer() { this.drawer.emit(true) }\r\n chnageNav(name: string): void {\r\n if (this.isnavChange) {\r\n this.changeNav.emit(name); this.navValue = name; this.coolMap.clearBound();\r\n if (name === 'Addroute') { this.coolMap.setPadding(this.paddinForViewRoute) }\r\n else { this.coolMap.setPadding(this.paddinForJobCode) }\r\n this.utils.clearOptions();\r\n }\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroyer$.next(true);\r\n this.destroyer$.unsubscribe();\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { FormControl, Validators } from '@angular/forms';\r\nimport { CoolmapService, Route, UtilsService } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-route-jobcode-list',\r\n templateUrl: './route-jobcode-list.component.html',\r\n styleUrls: ['./route-jobcode-list.component.scss']\r\n})\r\nexport class RouteJobCodeListComponent implements OnInit, OnChanges {\r\n @Input() public loader = true;\r\n @Input() public type: string = '';\r\n @Input() public data: Route[] = [];\r\n @Input() public currentNav: string = ''\r\n @Output() public emitroute = new EventEmitter();\r\n @Output() public showAllRoute = new EventEmitter();\r\n preventMouseout: boolean = false;\r\n filterList: Route[] = this.data;\r\n @Input() public searchTerm!: any;\r\n isDriverList: boolean = false;\r\n public selectedRoute = new SelectionModel<any>(true, [])\r\n driverList!: any;\r\n preventListSelect: boolean = false;\r\n @Output() public clearJobDetailsFromList = new EventEmitter();\r\n preventDetailsClose = false;\r\n messageLoader: boolean = false;\r\n driverMessage = new FormControl('', [Validators.maxLength(256)]);\r\n @Input() public clearListSeletion: boolean;\r\n isSmsList: boolean = false;\r\n constructor(public coolMap: CoolmapService, public utils: UtilsService) { this.driverList = [] }\r\n ngOnInit(): void {\r\n this.utils.getpreVentJobdetailclose.subscribe(res => { this.preventDetailsClose = res });\r\n this.utils.removeMapEntityUtility.subscribe((res: Route) => {this.passRoute(res)});\r\n }\r\n passRoute(job: Route) {\r\n this.data.forEach((each) => { if (each['route_id'] !== job['route_id']) { each['isActive'] = false } else { each['isActive'] = true } });\r\n if (this.type == 'addroute') this.filterList.forEach(ele => this.coolMap.filterRoute(ele['route_id'], 'none'));\r\n }\r\n selectRoute(route: any) {\r\n if (!this.preventListSelect) {\r\n this.preventListSelect = true;\r\n this.selectedRoute.toggle(route);\r\n this.clearJobDetailsFromList.emit(true);\r\n this.utils.preVentJobdetailclose.next(false);\r\n this.filterList.forEach(ele => this.coolMap.filterRoute(ele['job_id'], 'none'));\r\n this.clearList();\r\n this.selectedRoute.selected.forEach((ele, index) => {\r\n this.coolMap.filterRoute(ele['job_id'], 'visible', ((this.selectedRoute.selected.length - 1) === index)).then(() => {\r\n this.preventListSelect = false;\r\n })\r\n });\r\n if (!this.selectedRoute.selected.length) {\r\n this.preventListSelect = false\r\n this.data.forEach(ele => this.coolMap.filterRoute(ele['job_id'], 'visible'));\r\n };\r\n }\r\n }\r\n checkroutes(route: Route) {\r\n const selectedRoute = this.selectedRoute.selected;\r\n this.filterList = this.filterList.map(ele => { ele['isSelected'] = false; return ele })\r\n if (selectedRoute.length > 0) {\r\n selectedRoute.forEach(ele => {\r\n if (route['order_number'] === ele['order_number']) { ele['isSelected'] = true }\r\n });\r\n } return route\r\n }\r\n ngOnChanges(changes: SimpleChanges) {\r\n setTimeout(() => {\r\n if (this.currentNav === 'Addroute' && (this.data.length < this.filterList.length)) {\r\n const index = this.filterList.findIndex(ele => ele.isActive);\r\n if (index > 0) this.filterList[index].isActive = false;\r\n this.data.forEach((ele: Route, indexForData: number) => {\r\n const id = (ele['job_id'] ? ele['job_id'] : ele['route_id'])\r\n this.coolMap.plotRoute(ele, id, this.type, false, (indexForData === (this.data.length - 1))).then((res) => {\r\n });\r\n });\r\n }\r\n }, 500);\r\n if (changes['data'] && changes['data']['currentValue']) {\r\n this.filterList = changes['data']['currentValue'];\r\n if (this.searchTerm) {\r\n if (this.searchTerm.length > 0) {\r\n\r\n this.data = this.utils.getSearchResults(changes['data']['currentValue'], this.searchTerm);\r\n this.filterList = this.data;\r\n } else {\r\n this.filterList = changes['data']['currentValue'];\r\n }\r\n }\r\n\r\n if (this.type === 'jobcode') {\r\n this.loader = true; this.clearList();\r\n if (this.filterList.length === 0) this.loader = false;\r\n }\r\n\r\n if (this.type !== 'jobcode') {\r\n if (changes['data']['previousValue'] && this.currentNav === 'addForm') {\r\n const activeRoute = changes['data']['previousValue'].find((ele: Route) => ele.isActive);\r\n if (activeRoute) {\r\n this.filterList.map((item: any) => {\r\n if (item.route_id === activeRoute.route_id) {\r\n item.isActive = true;\r\n }\r\n })\r\n }\r\n }\r\n }\r\n if (changes['data']['previousValue'] && this.currentNav !== 'addForm') {\r\n this.coolMap.removeJobFromMap(changes['data']['previousValue']);\r\n this.selectedRoute.clear();\r\n };\r\n if (this.currentNav !== 'addForm') {\r\n changes['data']['currentValue'].forEach((ele: Route, indexForData: number) => {\r\n const id = (ele['job_id'] ? ele['job_id'] : ele['route_id'])\r\n this.coolMap.plotRoute(ele, id, this.type, false, (indexForData === (this.data.length - 1))).then((res) => {\r\n if (indexForData === (this.data.length - 1)) {\r\n this.loader = false;\r\n this.utils.preventnavChange.next(true);\r\n }\r\n });\r\n });\r\n }\r\n }\r\n if (changes['searchTerm']) {\r\n if (this.filterList) {\r\n this.data = this.filterList;\r\n this.clearList();\r\n if (changes['searchTerm']['currentValue'].length > 0) {\r\n this.coolMap.removeRouteAndMarker(1);\r\n this.data = this.utils.getSearchResults(this.data, changes['searchTerm']['currentValue']);\r\n } else { this.data = this.filterList; }\r\n setTimeout(() => {\r\n this.coolMap.clearBoundWithCordinates();\r\n if (this.currentNav !== 'addForm' && !this.selectedRoute['selected'].length) {\r\n this.coolMap.removeRouteAndMarker(1);\r\n this.toggleFilterRoute(this.filterList);\r\n }\r\n }, 500);\r\n if (this.currentNav !== 'addForm' && this.selectedRoute['selected'].length) {\r\n if (this.data && this.data.length > 0) {\r\n this.clearList();\r\n this.clearJobDetailsFromList.emit(true)\r\n this.coolMap.removeJobFromMap(this.selectedRoute.selected);\r\n setTimeout(() => {\r\n this.data.forEach((ele, indexForData) => {\r\n this.coolMap.plotRoute(ele, ele['job_id'], this.type, false, (indexForData === (this.data.length - 1))).then(() => {\r\n if (indexForData === (this.data.length - 1)) { this.loader = false; this.utils.preventnavChange.next(true) }\r\n if (this.selectedRoute['selected'].length && this.selectedRoute['selected'][0]['job_id'] === ele['job_id']) {\r\n this.selectedRoute.clear()\r\n }\r\n });\r\n })\r\n }, 500);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n showRoute() {\r\n this.utils.preventnavChange.next(false);\r\n this.loader = true; this.clearList();\r\n this.showAllRoute.emit(true);\r\n if (this.filterList && this.filterList.length > 0) {\r\n this.coolMap.removeJobFromMap(this.selectedRoute.selected);\r\n setTimeout(() => {\r\n this.filterList.forEach((ele, indexForData) => {\r\n this.coolMap.plotRoute(ele, ele['job_id'], this.type, false, (indexForData === this.filterList.length - 1)).then(() => {\r\n if (indexForData === this.filterList.length - 1) { this.loader = false; this.utils.preventnavChange.next(true) }\r\n if (this.selectedRoute['selected'].length && this.selectedRoute['selected'][0]['job_id'] === ele['job_id']) {\r\n this.selectedRoute.clear();\r\n }\r\n });\r\n })\r\n }, 500);\r\n }\r\n }\r\n toggleDrivermenu(event: any) {\r\n const mouseevntType = event.mouseevntType; let route = event.route;\r\n const isHoverOut = event.isHoverOut;\r\n if(typeof(mouseevntType) === 'string') {if(this.preventMouseout){this.isDriverList = !this.isDriverList}; this.preventMouseout = true}\r\n if (typeof(mouseevntType) === 'boolean' &&!mouseevntType && !this.preventMouseout) { this.isDriverList = mouseevntType };\r\n if (typeof(mouseevntType) === 'boolean' && mouseevntType && !this.preventMouseout) { this.isDriverList = mouseevntType };\r\n if(this.preventMouseout && !this.isDriverList) this.preventMouseout = false;\r\n if (isHoverOut) {\r\n if (this.preventMouseout) {\r\n route = this.utils.getdictValue('driver-details');\r\n this.driverList = route;\r\n }\r\n if (!this.preventMouseout) {\r\n this.driverList = route\r\n }\r\n } else {\r\n this.driverList = route\r\n }\r\n }\r\n visiblesection(value: string) { if (this.type === value) { return true } else return false }\r\n toggleFilterRoute(filterList: Route[]) {\r\n filterList.forEach((ele) => {\r\n const filterItem = (this.type === 'jobcode') ? 'job_id' : 'route_id';\r\n const index = this.data.findIndex((ele1) => { return (ele1[`${filterItem}`] === ele[`${filterItem}`]) });\r\n const id = (ele['job_id'] ? ele['job_id'] : ele['route_id']);\r\n if (id && index < 0) this.coolMap.filterRoute(id, 'none');\r\n if (id && index >= 0) {\r\n this.data[index].isActive = false;\r\n this.coolMap.filterRoute(id, 'visible');\r\n this.coolMap.extendBound(ele['path'], (index === (this.data.length - 1)));\r\n };\r\n });\r\n }\r\n clearList() {\r\n this.isDriverList = false; this.driverList = null; this.preventMouseout = false; this.isSmsList = false;\r\n }\r\n sendMessage() {\r\n this.messageLoader = true\r\n if (this.driverMessage.valid) {\r\n const data = {\r\n order_number: this.driverList['order_number'],\r\n date: this.driverList['date'],\r\n message: this.driverMessage.value,\r\n }\r\n this.utils.postdata('coolmap/jobs_report_chat', data).subscribe((res: any) => {\r\n if (res['data']['status'] === 'Success.') {\r\n this.messageLoader = false;\r\n this.driverMessage.reset();\r\n this.utils.openSnackBar('Message Sent', 'success');\r\n } else {\r\n this.messageLoader = false;\r\n this.utils.openSnackBar('Message not sent', 'error');\r\n }\r\n }, err => {if(err) {this.messageLoader = false}})\r\n }\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { Route, UtilsService } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-view-route-list-card',\r\n templateUrl: './view-route-list-card.component.html',\r\n styleUrls: ['./view-route-list-card.component.scss']\r\n})\r\nexport class ViewRouteListCardComponent {\r\n @Input() public route!: Route;\r\n @Input() public emitrouteevent: any;\r\n constructor(public utils: UtilsService) { }\r\n\r\n detailsDict(event: boolean | string, route: Route) {\r\n if(event === 'click') this.utils.setdictValue('route-detailsv2', JSON.stringify(route));\r\n route['type'] = 'editroute'; route['prevent'] = true; this.emitrouteevent.emit(route);\r\n this.utils.routeDetailsUtility.next({ event, route });\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { DriverSmsCardEnum, DriversmsCardKey } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-sms-card-details-overview',\r\n templateUrl: './sms-card-details-overview.component.html',\r\n styleUrls: ['./sms-card-details-overview.component.scss']\r\n})\r\nexport class SmsCardDetailsOverviewComponent {\r\n @Input() public jobValue: any;\r\n label = DriversmsCardKey;\r\n overViewEnum: any = DriverSmsCardEnum;\r\n constructor() { }\r\n\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Route, UtilsService } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-job-code-list-card',\r\n templateUrl: './job-code-list-card.component.html',\r\n styleUrls: ['./job-code-list-card.component.scss']\r\n})\r\nexport class JobCodeListCardComponent {\r\n @Input() public route!: Route;\r\n @Output() public routeSeletion = new EventEmitter();\r\n @Output() public toggleDrivermenu = new EventEmitter();\r\n @Input() public emitJobdetails: any;\r\n @Input() public preventCloseDetails!: boolean;\r\n constructor(public utils: UtilsService) { }\r\n\r\n selectRoute(route: Route) { this.routeSeletion.emit(route) }\r\n toggleDriverlist(mouseevntType: boolean | string, route: Route, isHoverOut?: boolean) {\r\n const data = { mouseevntType, route, isHoverOut }\r\n this.toggleDrivermenu.emit(data);\r\n if (mouseevntType === 'click') this.utils.setdictValue('driver-details', JSON.stringify(this.route));\r\n }\r\n toggleJobCodeDetails(mouseEventType: boolean, route: Route) {\r\n if (mouseEventType) { route['type'] = 'jobcode'; this.emitJobdetails.emitroute.emit(route) }\r\n else if(!mouseEventType && this.preventCloseDetails){\r\n route = this.utils.getdictValue('route-details');\r\n route['type'] = 'jobcode'; this.emitJobdetails.emitroute.emit(route)\r\n }\r\n else if (!mouseEventType && !this.preventCloseDetails) this.emitJobdetails.clearJobDetailsFromList.emit(true);\r\n }\r\n calculateStatusPercentage(type: string, route: any) {\r\n const total = route['Done'] + route['Ongoing'] + route['Open'];\r\n if (type === 'done') { return Math.round((100 * route['Done']) / total) }\r\n else if (type === 'ongoing') { return Math.round((100 * route['Ongoing']) / total) }\r\n else if (type === 'open') { return Math.round((100 * route['Open']) / total) }\r\n else { return null }\r\n }\r\n setRouteItem(){\r\n this.utils.preVentJobdetailclose.next(true);\r\n this.utils.setdictValue('route-details', JSON.stringify(this.route));\r\n }\r\n}\r\n","import { SelectionModel } from '@angular/cdk/collections';\r\nimport { Component, OnInit, Input, Output, EventEmitter, OnDestroy } from '@angular/core';\r\nimport { Subject } from 'rxjs';\r\nimport {takeUntil} from 'rxjs/operators';\r\nimport { CoolmapService, Route, UtilsService } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-job-code',\r\n templateUrl: './job-code.component.html',\r\n styleUrls: ['./job-code.component.scss']\r\n})\r\nexport class JobCodeComponent implements OnInit, OnDestroy {\r\n @Input() public jobdetail!: any;\r\n isVisible: boolean = false;\r\n routes: Route[] = [];\r\n public selectedRoute = new SelectionModel<any>(true, [])\r\n @Output() public clearJobDetails = new EventEmitter(); isOverlapRouteSection = false;\r\n public destroyer$ = new Subject<boolean>();\r\n detailsCardEnable: boolean | string;\r\n preventMouseout: boolean = false;\r\n routeCardDetail: Route;\r\n preventListUpdate: boolean;\r\n masterRoutes: any;\r\n\r\n constructor(public utils: UtilsService, public coolMap: CoolmapService) {\r\n this.utils.clearViewRouteforJobCodeObserve.pipe(takeUntil(this.destroyer$)).subscribe(res => {\r\n if (res) this.coolMap.removeJobFromMap(this.selectedRoute.selected); this.selectedRoute.clear();\r\n });\r\n }\r\n\r\n ngOnInit(): void { this.getRouteList() }\r\n getRouteList() {\r\n this.utils.getData('coolmap/routes/all').pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (res) {\r\n this.routes = res.data;\r\n this.masterRoutes = res.data;\r\n this.preventListUpdate = false;\r\n this.utils.clearOptions();\r\n this.routes.forEach((ele: Route) => { this.utils.makeOptions(ele) });\r\n }\r\n })\r\n }\r\n toggleSidemenu() {\r\n this.isVisible = !this.isVisible;\r\n this.detailsCardEnable = false;\r\n this.preventMouseout = false\r\n }\r\n clearJob() { this.clearJobDetails.emit(true); this.utils.preVentJobdetailclose.next(false) }\r\n selectRoute(event: Route) {\r\n const i = this.selectedRoute.selected.findIndex(ele => ele['order_number'] === event['order_number']);\r\n this.selectedRoute.toggle(event);\r\n if (!this.selectedRoute.isSelected(event) && event['route_id']) {\r\n this.coolMap.removeRouteAndMarker(event['route_id']).then((res: any) => {\r\n this.coolMap.extendReBound();\r\n });\r\n } else {\r\n this.coolMap.plotRoute(event, event['route_id'], 'jobrouteList', false, true);\r\n }\r\n }\r\n masterToggle() {\r\n if (this.routes.length === this.selectedRoute.selected.length) {\r\n this.selectedRoute.clear();\r\n this.routes.forEach(row => {\r\n this.coolMap.removeRouteAndMarker(row['route_id']).then((res: any) => { this.coolMap.extendReBound() })\r\n });\r\n } else {\r\n this.routes.forEach(row => {\r\n this.selectedRoute.select(row);\r\n this.coolMap.plotRoute(row, row['route_id'], 'jobrouteList', false, true);\r\n });\r\n }\r\n }\r\n togglerouteDetails(eventType: string | boolean, route: Route, mouseOut?: boolean) {\r\n if (typeof (eventType) === 'string') {\r\n this.preventMouseout = true; this.utils.setdictValue('route-details', JSON.stringify(route));\r\n }\r\n if (typeof (eventType) === 'boolean' && eventType && !this.preventMouseout) { this.detailsCardEnable = eventType };\r\n if (typeof (eventType) === 'boolean' && !eventType && !this.preventMouseout) { this.detailsCardEnable = eventType };\r\n if (this.preventMouseout && !this.detailsCardEnable) this.preventMouseout = false;\r\n if (mouseOut) {\r\n if (this.preventMouseout) {\r\n route = this.utils.getdictValue('route-details');\r\n this.routeCardDetail = route;\r\n }\r\n if (!this.preventMouseout) {\r\n this.routeCardDetail = route\r\n }\r\n } else {\r\n this.routeCardDetail = route\r\n }\r\n this.routeCardDetail['created_at'] = this.utils.getDateFormat(new Date(this.routeCardDetail['created_at']), '/');\r\n }\r\n ngOnDestroy(): void {\r\n this.destroyer$.next(true);\r\n this.destroyer$.unsubscribe();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { Route } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-jobcode-status',\r\n templateUrl: './jobcode-status.component.html',\r\n styleUrls: ['./jobcode-status.component.scss']\r\n})\r\nexport class JobcodeStatusComponent {\r\n @Input() public jobValue!: Route\r\n constructor() { }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { CoolmapService, Route, UtilsService } from '@aggdirect/coolmap-services';\r\nimport { Observable } from 'rxjs';\r\nimport {startWith, map} from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-job-route-list',\r\n templateUrl: './job-route-list.component.html',\r\n styleUrls: ['./job-route-list.component.scss']\r\n})\r\nexport class JobRouteListComponent {\r\n @Output() public changeNav = new EventEmitter<string | any>();\r\n filteredOptions!: Observable<any[]> | undefined;\r\n preventListUpdate: boolean;\r\n filterForm = new FormGroup({ search: new FormControl() });\r\n filters: any[];\r\n @Input() public routes: Route[];\r\n @Input() public selectedRoute;\r\n @Output() public changeRoutes = new EventEmitter<string | any>();\r\n @Output() public changeSelectedRoute = new EventEmitter<string | any>();\r\n @Input() public masterRoutes: Route[];\r\n\r\n constructor(public utils: UtilsService, public coolMap: CoolmapService) {\r\n this.filters = [];\r\n this.filteredOptions = this.filterForm.get('search')?.valueChanges.pipe(startWith(''),\r\n map(value => this.utils.filter(value, this.filters)));\r\n }\r\n\r\n filterSearch(e: any): void {\r\n this.changeNav.emit({ type: 'Addroute' });\r\n this.preventListUpdate = true;\r\n this.filterForm.controls.search.setValue(null);\r\n this.filters = [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }];\r\n const filteredRoutes = this.utils.getSearchResults(this.masterRoutes, [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }]);\r\n this.changeRoutes.emit(filteredRoutes);\r\n this.selectedRoute.selected.forEach((item: any) => {\r\n const routeData = filteredRoutes.find(x => x.route_id === item.route_id);\r\n if (!routeData) {\r\n this.selectedRoute.toggle(item);\r\n this.changeSelectedRoute.emit(this.selectedRoute);\r\n this.coolMap.removeRouteAndMarker(item['route_id']).then((res: any) => {\r\n this.coolMap.extendReBound();\r\n });\r\n }\r\n })\r\n }\r\n\r\n removeFromFilter(filter: any): void {\r\n this.changeNav.emit({ type: 'Addroute' });\r\n const index = this.filters.indexOf(filter);\r\n if (index >= 0) { this.filters = []; this.changeRoutes.emit(this.masterRoutes); }\r\n }\r\n}\r\n\r\n","import { Component, Input } from '@angular/core';\r\nimport { JobCodeOverviewData, JobCodeOverviewEnum } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-jobcode-overview',\r\n templateUrl: './jobcode-overview.component.html',\r\n styleUrls: ['./jobcode-overview.component.scss']\r\n})\r\nexport class JobcodeOverviewComponent {\r\n @Input() public jobValue: any;\r\n label = JobCodeOverviewData;\r\n overViewEnum: any = JobCodeOverviewEnum;\r\n constructor() { }\r\n\r\n}\r\n","import { Component, Inject } from '@angular/core';\r\nimport {MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n@Component({\r\n selector: 'app-dialog',\r\n templateUrl: './dialog.component.html',\r\n styleUrls: ['./dialog.component.scss']\r\n})\r\nexport class DialogComponent {\r\n body = 'Are you sure you want to delete?';\r\n positive = 'Delete';\r\n negative = 'Cancel';\r\n constructor(public dialogRef: MatDialogRef<DialogComponent>, @Inject(MAT_DIALOG_DATA) public data: any) {\r\n ['body', 'positive', 'negative'].map(elem => {\r\n if (this.data[elem] !== undefined) { this[elem] = this.data[elem] }\r\n });\r\n }\r\n onClose(result: boolean) { this.dialogRef.close(result) }\r\n}\r\n","import { Component, ElementRef, OnInit, ViewChild, Output, EventEmitter, SimpleChanges, OnChanges, Input, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { fromEvent, Observable, Subject } from 'rxjs';\r\nimport {startWith, map, debounceTime, distinctUntilChanged, takeUntil} from 'rxjs/operators';\r\n\r\nimport {MatDialog} from '@angular/material/dialog';\r\nimport { CoolmapService, Route, UtilsService } from '@aggdirect/coolmap-services';\r\nimport { DialogComponent } from '../shared/dialog/dialog.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-route',\r\n templateUrl: './add-route.component.html',\r\n styleUrls: ['./add-route.component.scss']\r\n})\r\nexport class AddRouteComponent implements OnInit, OnChanges, OnDestroy {\r\n @ViewChild('filterPickup') public filterPickup!: ElementRef;\r\n @ViewChild('filterDelivery') public filterDelivery!: ElementRef;\r\n @Output() public changeNav = new EventEmitter<string>();\r\n @Output() public updateRouteList = new EventEmitter<boolean>();\r\n pickupOptions: any = [];\r\n deliveryOptions: any = [];\r\n requestParmsForRouteDetails = { pickup_lat_lng: '', delivery_lat_lng: '' }\r\n customersList: any = [];\r\n unitsList: any = [];\r\n materialsList: any = [];\r\n addRouteForm!: FormGroup;\r\n @Input() public routeData!: Route;\r\n @Input() public portalName!: string;\r\n routeId: string | null | undefined;\r\n preventSave: boolean = false;\r\n preventInitialSave: boolean = false;\r\n customersList$!: Observable<any>;\r\n routeDetails!: { pickup_location: string | null | undefined; delivery_location: string | null | undefined; } | null;\r\n public destroyer$ = new Subject<boolean>();\r\n popupDetails: Route;\r\n enablePopUp: boolean = false;\r\n prevantPopupClose = false;\r\n enableForm: boolean = false;\r\n\r\n constructor(public coolMapService: CoolmapService, public utils: UtilsService, public dialog: MatDialog) { \r\n this.formInit();\r\n this.utils.getrouteDetailsUtility.subscribe(res => {\r\n if (res) {\r\n if (res['event'] !== 'click' && !this.prevantPopupClose) { this.enablePopUp = res['event'] }\r\n else if (this.enablePopUp && !this.prevantPopupClose) { this.prevantPopupClose = true; }\r\n if (res['event'] !== 'click' && !res['event'] && this.prevantPopupClose) {\r\n this.popupDetails = this.utils.getdictValue('route-detailsv2');\r\n } else { this.popupDetails = res['route'] }\r\n if (this.enablePopUp) this.popupDetails['created_at'] = this.utils.getDateFormat(new Date(this.popupDetails['created_at']), '/');\r\n }\r\n });\r\n }\r\n filterCustomerList() {\r\n this.customersList$ = this.addRouteForm.controls['customer_name'].valueChanges.pipe(\r\n startWith(''),\r\n map(value => this._filter(value || '')),\r\n );\r\n }\r\n public _filter(value: string): string[] {\r\n const filterValue = value.toLowerCase();\r\n return this.customersList.filter((option: any) => option['customer_name'].toLowerCase().includes(filterValue));\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes['routeData'] && !changes['routeData']['currentValue']) this.inIt(null);\r\n }\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogComponent, {\r\n data: { body: 'Are you sure you want to delete this route?' },\r\n });\r\n dialogRef.afterClosed().subscribe(res => { if (res) { this.deleteRoute() } });\r\n }\r\n editEvent(){\r\n this.prevantPopupClose = false;\r\n this.enableForm = true; this.enablePopUp = false;\r\n this.popupDetails['prevent'] = false;\r\n this.utils.removeMapEntity.next(this.popupDetails);\r\n this.inIt(this.popupDetails);\r\n }\r\n inIt(changes: Route) {\r\n if (changes) {\r\n if (!changes['prevent']) {\r\n this.preventSave = false;\r\n this.formControlValue();\r\n this.patchFormValue(changes); this.checkAndFetchRouteInformation(true)\r\n }\r\n }\r\n if (!changes) { this.enableForm = true; this.preventSave = true; this.patchFormValue(); this.checkAndFetchRouteInformation() }\r\n }\r\n ngOnInit(): void {\r\n this.fetchCustomersList();\r\n this.fetchUnitsList();\r\n this.fetchMaterialsList();\r\n this.formControlValue();\r\n }\r\n\r\n ngAfterViewInit() {\r\n fromEvent(this.filterPickup.nativeElement, 'keyup').pipe(\r\n distinctUntilChanged(), debounceTime(150)).pipe(takeUntil(this.destroyer$)).subscribe(() => {\r\n this.utils.fetchAutoCompleteLocations(this.filterPickup.nativeElement.value).pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n this.pickupOptions = res.features;\r\n });\r\n });\r\n\r\n fromEvent(this.filterDelivery.nativeElement, 'keyup').pipe(\r\n distinctUntilChanged(), debounceTime(150)).pipe(takeUntil(this.destroyer$)).subscribe(() => {\r\n this.utils.fetchAutoCompleteLocations(this.filterDelivery.nativeElement.value).pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n this.deliveryOptions = res.features;\r\n });\r\n });\r\n }\r\n\r\n formControlValue() {\r\n this.addRouteForm.controls['pickup_location']?.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (this.addRouteForm.value.pickup_location && res !== this.addRouteForm.value.pickup_location) {\r\n this.addRouteForm.patchValue({\r\n pickup_lat_lng: '',\r\n });\r\n this.addRouteForm.controls['pickup_lat_lng'].markAsTouched();\r\n }\r\n });\r\n\r\n this.addRouteForm.controls['delivery_location']?.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (this.addRouteForm.value.delivery_location && res !== this.addRouteForm.value.delivery_location) {\r\n this.addRouteForm.patchValue({\r\n delivery_lat_lng: '',\r\n });\r\n this.addRouteForm.controls['delivery_lat_lng'].markAsTouched();\r\n }\r\n });\r\n }\r\n\r\n formInit() {\r\n this.addRouteForm = new FormGroup({\r\n route_name: new FormControl('', [Validators.required]),\r\n customer_name: new FormControl({value: '', disabled: true}, [Validators.required]),\r\n materials_id: new FormControl('', [Validators.required]),\r\n unit_id: new FormControl('', [Validators.required]),\r\n path: new FormControl('', [Validators.required]),\r\n pickup_location: new FormControl('', [Validators.required]),\r\n pickup_lat_lng: new FormControl('', [Validators.required]),\r\n delivery_location: new FormControl('', [Validators.required]),\r\n delivery_lat_lng: new FormControl('', [Validators.required]),\r\n estimated_distance: new FormControl('', [Validators.required]),\r\n estimated_time: new FormControl('', [Validators.required]),\r\n note: new FormControl('', [Validators.maxLength(2048)]),\r\n });\r\n }\r\n\r\n patchFormValue(data?: Route) {\r\n this.addRouteForm.reset();\r\n this.addRouteForm.patchValue(data!);\r\n this.routeId = data?.route_id;\r\n this.routeDetails = data ? { pickup_location: data.pickup_location, delivery_location: data.delivery_location } : null;\r\n this.addRouteForm.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe(res => {\r\n if (res) { if (this.preventInitialSave) this.preventInitialSave = false }\r\n });\r\n this.filterCustomerList();\r\n }\r\n\r\n fetchCustomersList() {\r\n this.utils.getData(`${this.portalName}/company/list/view`).pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (res) { this.customersList = res.data; this.filterCustomerList(); this.addRouteForm.controls['customer_name'].enable(); }\r\n })\r\n }\r\n\r\n fetchUnitsList() {\r\n this.utils.getData(`${this.portalName}/unit/list/view`).pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (res) { this.unitsList = res.data }\r\n })\r\n }\r\n\r\n fetchMaterialsList() {\r\n this.utils.getData(`${this.portalName}/material/list/view`).pipe(takeUntil(this.destroyer$)).subscribe(((res: any) => {\r\n res.data.sort((a: any, b: any) => a.material.localeCompare(b.material))\r\n this.materialsList = res.data\r\n }))\r\n }\r\n\r\n selectedLongLat(type: string, event: any) {\r\n if (type === 'pickup') {\r\n this.addRouteForm.patchValue({\r\n pickup_lat_lng: (event.geometry.coordinates[1] + ',' + event.geometry.coordinates[0]).toString()\r\n });\r\n this.coolMapService.clearBoundWithCordinates();\r\n } else if (type === 'delivery') {\r\n this.addRouteForm.patchValue({\r\n delivery_lat_lng: (event.geometry.coordinates[1] + ',' + event.geometry.coordinates[0]).toString()\r\n })\r\n }\r\n this.checkAndFetchRouteInformation();\r\n }\r\n\r\n checkAndFetchRouteInformation(isinitial?: boolean) {\r\n if (this.addRouteForm.value?.delivery_lat_lng?.length > 0 && this.addRouteForm.value?.pickup_lat_lng?.length > 0 && this.addRouteForm.value.unit_id) {\r\n let unit = this.unitsList.find((x: any) => x.id === this.addRouteForm.value.unit_id);\r\n const param = {\r\n delivery_lat_lng: this.addRouteForm.value.delivery_lat_lng,\r\n pickup_lat_lng: this.addRouteForm.value.pickup_lat_lng,\r\n unit: unit?.type\r\n };\r\n this.utils.postdata('coolmap/calculate/routes/estimation', param).pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (res && res['path']) {\r\n this.addRouteForm.patchValue({\r\n estimated_distance: res.dist, estimated_time: res.time, path: res.path\r\n });\r\n let path = res['path'].split(';');\r\n path = path.map((ele: string | any) => { return ele = this.formateLatLong(ele) });\r\n res['path'] = path;\r\n const element: any = {\r\n type: 'FeatureCollection',\r\n features: [{ type: 'Feature', properties: {}, geometry: { type: 'LineString', coordinates: res['path'] } }]\r\n }\r\n this.coolMapService.removeRouteAndMarker(1).then(() => {\r\n const unit = this.unitsList.find((x: any) => x.id === this.addRouteForm.value.unit_id);\r\n const materialDetails = this.materialsList.find((x: any) => x.material_id === this.addRouteForm.value.materials_id);\r\n this.coolMapService.loadMapProperty(element, 1, unit?.type,\r\n {\r\n pickup_location: this.addRouteForm.get('pickup_location')?.value,\r\n delivery_location: this.addRouteForm.get('delivery_location')?.value,\r\n route_name: this.addRouteForm.get('route_name')?.value,\r\n material: materialDetails?.material, unit: unit?.type\r\n }).then((res) =>{this.preventSave = true});\r\n });\r\n } else {\r\n this.coolMapService.removeRouteAndMarker(1);\r\n this.utils.openSnackBar(res['status'], 'error');\r\n }\r\n if (this.routeId && isinitial) this.preventInitialSave = true;\r\n });\r\n } else { this.coolMapService.removeRouteAndMarker(1) }\r\n }\r\n\r\n formateLatLong(latlong: string) { return latlong ? latlong.split(',').map(x => +x).reverse() : null }\r\n saveRoute() {\r\n if (this.addRouteForm.valid) {\r\n this.preventSave = false;\r\n const data = this.addRouteForm.value;\r\n data['trucker_pay_estimate'] = null;\r\n data['customer_price_estimate'] = null;\r\n const url = this.routeId ? this.utils.postdata('coolmap/update/routes', data) : this.utils.postdata('coolmap/add/routes', data)\r\n if (this.routeId) data['id'] = this.routeId;\r\n url.pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (res.success) {\r\n this.updateRouteList.emit(true);\r\n this.utils.openSnackBar(res.message, 'success');\r\n this.preventInitialSave = true;\r\n this.preventSave = true;\r\n if(!this.routeId)this.changeNav.next('Addroute');\r\n } else {\r\n this.utils.openSnackBar(res.message, 'error');\r\n this.preventSave = true;\r\n }\r\n }, (err) => { if (err) { this.preventSave = true; } });\r\n } else {\r\n this.addRouteForm.markAllAsTouched();\r\n }\r\n }\r\n deleteRoute() {\r\n this.preventSave = false;\r\n this.utils.postdata('coolmap/delete/routes', { uuid: this.routeId }).subscribe(res => {\r\n if (res['data']['success']) {\r\n this.utils.openSnackBar(res['data']['message'], 'success');\r\n this.updateRouteList.emit(true);\r\n this.changeNav.next('Addroute');\r\n this.preventInitialSave = true;\r\n this.preventSave = true;\r\n } else {\r\n this.utils.openSnackBar('Somthing went wrong', 'error');\r\n this.preventSave = true;\r\n }\r\n }, (err) =>{this.preventSave = true})\r\n }\r\n ngOnDestroy(): void {\r\n this.destroyer$.next(true);\r\n this.destroyer$.unsubscribe();\r\n }\r\n}\r\n","import { Component, EventEmitter, Output, Input, SimpleChanges, OnDestroy } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { Route, UtilsService } from '@aggdirect/coolmap-services';\r\nimport { Observable } from 'rxjs';\r\ninterface Filter {\r\n name?: string;\r\n type: string;\r\n value: any;\r\n label?: string;\r\n}\r\nimport { Subject } from 'rxjs';\r\nimport {startWith, map, takeUntil} from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-add-route-nav',\r\n templateUrl: './add-route-nav.component.html',\r\n styleUrls: ['./add-route-nav.component.scss']\r\n})\r\n\r\nexport class AddRouteNavComponent implements OnDestroy {\r\n filterForm = new FormGroup({ search: new FormControl() });\r\n filteredOptions!: Observable<any[]> | undefined;\r\n filters: Filter[] = [];\r\n loaderVal = false;\r\n routes: Route[] = [];\r\n @Output() public changeNav = new EventEmitter<string | any>();\r\n @Input() public navValue: string = '';\r\n @Output() public addemit = new EventEmitter();\r\n @Input() public updateRouteList: boolean = false;\r\n public destroyer$ = new Subject<boolean>();\r\n preventListUpdate: boolean = false;\r\n constructor(public utils: UtilsService) {\r\n this.filteredOptions = this.filterForm.get('search')?.valueChanges.pipe(startWith(''),\r\n map(value => this.utils.filter(value, this.filters)));\r\n }\r\n\r\n showAddForm() { this.changeNav.emit('addForm'); this.addemit.emit('') }\r\n filterSearch(e: any): void {\r\n this.changeNav.emit({type: 'Addroute'});\r\n this.preventListUpdate = true;\r\n this.filterForm.controls.search.setValue(null);\r\n this.filters = [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value }]\r\n }\r\n removeFromFilter(filter: any): void {\r\n this.changeNav.emit({type: 'Addroute'});\r\n const index = this.filters.indexOf(filter);\r\n if (index >= 0) { this.filters = [] }\r\n }\r\n ngAfterViewInit(): void { this.getRouteList() }\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['updateRouteList'] && changes['updateRouteList']['currentValue']) this.getRouteList();\r\n if(changes['navValue'] && (changes['navValue']['previousValue'] === 'addForm') && !this.preventListUpdate) this.getRouteList();\r\n }\r\n getRoute(event: Route) { if (event['type'] === 'editroute') { this.addemit.emit(event) } }\r\n getRouteList() {\r\n this.utils.getData('coolmap/routes/all').pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (res) {\r\n this.filters = [];\r\n this.routes = res['data']\r\n this.preventListUpdate = false;\r\n this.utils.clearOptions();\r\n this.routes.forEach((ele: Route) => { this.utils.makeOptions(ele) });\r\n }\r\n });\r\n }\r\n resetSearch() { this.changeNav.emit('Addroute') }\r\n ngOnDestroy(): void {\r\n this.destroyer$.next(true);\r\n this.destroyer$.unsubscribe();\r\n }\r\n}\r\n","import { Component, OnInit, EventEmitter, Output, OnDestroy } from '@angular/core';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { Observable } from 'rxjs';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\ninterface Filter { name?: string; type: string; value: any; label?: string; }\r\nimport { Subject } from 'rxjs';\r\nimport { Route, UtilsService } from '@aggdirect/coolmap-services';\r\nimport {startWith, map, takeUntil} from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'app-job-code-nav',\r\n templateUrl: './job-code-nav.component.html',\r\n styleUrls: ['./job-code-nav.component.scss']\r\n})\r\nexport class JobCodeNavComponent implements OnInit, OnDestroy {\r\n filterForm = new FormGroup({ search: new FormControl() });\r\n listData: Route[] = [];\r\n loaderVal: boolean = false;\r\n dateValue = new Date();\r\n @Output() public jobemit = new EventEmitter();\r\n value = '';\r\n filteredOptions!: Observable<any[]> | undefined;\r\n filters: Filter[] = [];\r\n @Output() public clearJobDetails = new EventEmitter();\r\n public destroyer$ = new Subject<boolean>();\r\n\r\n constructor(public utils: UtilsService) {\r\n utils.navChangeObserve.pipe(takeUntil(this.destroyer$)).subscribe(res => {\r\n if (res) { this.loaderVal = false } else this.loaderVal = true\r\n });\r\n }\r\n ngOnInit(): void { this.loadData(this.utils.getDateFormat(new Date())) }\r\n loadData(value: string) {\r\n this.filteredOptions = this.filterForm.get('search')?.valueChanges.pipe(startWith(''),\r\n map(value => this.utils.filter(value, this.filters)),\r\n );\r\n this.utils.preventnavChange.next(false);\r\n this.loaderVal = true;\r\n this.utils.postdata('coolmap/jobs_report_v2', { date: value }).pipe(takeUntil(this.destroyer$)).subscribe((res: any) => {\r\n if (typeof res['data'] !== 'string') {\r\n if (res['data'].length > 0) this.listData = res['data'].map((ele: Route) => {ele['date'] = value; return ele});\r\n this.listData.forEach((ele: Route) => { this.utils.makeOptions(ele) });\r\n } else this.listData = [];\r\n this.clearJobDetails.emit(true);\r\n this.utils.clearViewRouteforJobCode.next(true);\r\n this.filters = [];\r\n if (typeof res['data'] === 'string') this.utils.preventnavChange.next(true);\r\n }, (err) => { if (err) this.utils.preventnavChange.next(true) });\r\n }\r\n getRoute(job: Route) { if(job['type'] === 'jobcode'){ this.jobemit.emit(job)} }\r\n getDate(ev: MatDatepickerInputEvent<Date>){this.loadData(this.utils.getDateFormat(ev.value))}\r\n filterSearch(e: any): void {\r\n this.filterForm.controls.search.setValue(null);\r\n this.filterForm.controls.search.updateValueAndValidity();\r\n this.filters = [{ name: e.source.value.label, type: e.source.value.type, value: e.source.value}]\r\n }\r\n removeFromFilter(filter: any): void {\r\n const index = this.filters.indexOf(filter);\r\n if (index >= 0) { this.filters = [] }\r\n }\r\n ngOnDestroy(): void {\r\n this.destroyer$.next(true);\r\n this.destroyer$.unsubscribe();\r\n }\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { EstinationEnum, EstinationData } from '@aggdirect/coolmap-services';\r\n\r\n@Component({\r\n selector: 'app-estimation-display',\r\n templateUrl: './estimation-display.component.html',\r\n styleUrls: ['./estimation-display.component.scss']\r\n})\r\nexport class EstimationDisplayComponent {\r\n @Input() value!: any;\r\n label = EstinationData;\r\n Estinationlabel: any = EstinationEnum;\r\n constructor() { }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CoolmapComponent } from './coolmap.component';\r\nimport { MapComponent } from './component/map/map.component';\r\nimport { NavComponent } from './component/nav/nav.component';\r\n\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { CommonModule } from '@angular/common';\r\nimport {MatTooltipModule} from '@angular/material/tooltip';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule, MatPseudoCheckboxModule } from '@angular/material/core';\r\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport {MatProgressBarModule} from '@angular/material/progress-bar';\r\nimport { RouteJobCodeListComponent } from './component/route-jobcode-list/route-jobcode-list.component';\r\nimport { ViewRouteListCardComponent } from './component/route-jobcode-list/view-route-list-card/view-route-list-card.component';\r\nimport { SmsCardDetailsOverviewComponent } from './component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component';\r\nimport { JobCodeListCardComponent } from './component/route-jobcode-list/job-code-list-card/job-code-list-card.component';\r\nimport { JobCodeComponent } from './component/job-code/job-code.component';\r\nimport { JobcodeStatusComponent } from './component/shared/jobcode-status/jobcode-status.component';\r\nimport { JobRouteListComponent } from './component/shared/job-route-list/job-route-list.component';\r\nimport { JobcodeOverviewComponent } from './component/shared/jobcode-overview/jobcode-overview.component';\r\nimport { DialogComponent } from './component/shared/dialog/dialog.component';\r\nimport { AddRouteComponent } from './component/add-route/add-route.component';\r\nimport { AddRouteNavComponent } from './component/nav/layout/add-route-nav/add-route-nav.component';\r\nimport { JobCodeNavComponent } from './component/nav/layout/job-code-nav/job-code-nav.component';\r\nimport { EstimationDisplayComponent } from './component/shared/estimation-display/estimation-display.component';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n CoolmapComponent,\r\n MapComponent,\r\n NavComponent,\r\n AddRouteNavComponent,\r\n JobCodeNavComponent,\r\n RouteJobCodeListComponent,\r\n ViewRouteListCardComponent,\r\n SmsCardDetailsOverviewComponent,\r\n JobCodeListCardComponent,\r\n JobCodeComponent,\r\n JobRouteListComponent,\r\n JobcodeStatusComponent,\r\n JobcodeOverviewComponent,\r\n DialogComponent,\r\n AddRouteComponent,\r\n EstimationDisplayComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n MatSnackBarModule,\r\n MatSidenavModule,\r\n DragDropModule,\r\n FormsModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatIconModule,\r\n ReactiveFormsModule,\r\n MatAutocompleteModule,\r\n MatFormFieldModule,\r\n MatProgressSpinnerModule,\r\n MatChipsModule,\r\n MatDialogModule,\r\n MatTooltipModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n PerfectScrollbarModule,\r\n MatPseudoCheckboxModule,\r\n MatButtonModule,\r\n MatProgressBarModule,\r\n ],\r\n exports: [\r\n CoolmapComponent,\r\n MapComponent,\r\n NavComponent,\r\n AddRouteNavComponent,\r\n JobCodeNavComponent,\r\n RouteJobCodeListComponent,\r\n ViewRouteListCardComponent,\r\n SmsCardDetailsOverviewComponent,\r\n JobCodeListCardComponent,\r\n JobCodeComponent,\r\n JobRouteListComponent,\r\n JobcodeStatusComponent,\r\n JobcodeOverviewComponent,\r\n DialogComponent,\r\n AddRouteComponent,\r\n EstimationDisplayComponent\r\n ],\r\n entryComponents: [\r\n DialogComponent,\r\n JobCodeComponent,\r\n AddRouteComponent\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class CoolmapModule { }\r\n","/*\r\n * Public API Surface of coolmap\r\n */\r\n\r\nexport * from './lib/coolmap.component';\r\nexport * from './lib/coolmap.module';\r\nexport * from './lib/component/map/map.component';\r\nexport * from './lib/component/nav/nav.component';\r\nexport * from './lib/component/nav/layout/add-route-nav/add-route-nav.component';\r\nexport * from './lib/component/nav/layout/job-code-nav/job-code-nav.component';\r\n\r\nexport * from './lib/component/route-jobcode-list/route-jobcode-list.component';\r\nexport * from './lib/component/route-jobcode-list/view-route-list-card/view-route-list-card.component';\r\nexport * from './lib/component/route-jobcode-list/sms-card-details-overview/sms-card-details-overview.component';\r\nexport * from './lib/component/route-jobcode-list/job-code-list-card/job-code-list-card.component';\r\nexport * from './lib/component/job-code/job-code.component';\r\nexport * from './lib/component/add-route/add-route.component';\r\nexport * from './lib/component/shared/jobcode-status/jobcode-status.component';\r\nexport * from './lib/component/shared/job-route-list/job-route-list.component';\r\nexport * from './lib/component/shared/jobcode-overview/jobcode-overview.component';\r\nexport * from './lib/component/shared/dialog/dialog.component';\r\n\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {EstimationDisplayComponent as ɵa} from './lib/component/shared/estimation-display/estimation-display.component';"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|