@aggdirect/coolmap-services 1.0.3 → 1.0.5

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.
@@ -0,0 +1,216 @@
1
+ import { HttpClient } from '@angular/common/http';
2
+ import { Injectable } from '@angular/core';
3
+ import { MatSnackBar } from '@angular/material/snack-bar';
4
+ import { BehaviorSubject } from 'rxjs';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "@angular/common/http";
7
+ import * as i2 from "@angular/material/snack-bar";
8
+ export class UtilsService {
9
+ constructor(http, snackBar) {
10
+ this.http = http;
11
+ this.snackBar = snackBar;
12
+ this.analyticsRESTURL = '';
13
+ this.RESTURLPrefix = '';
14
+ this.pickupOptions = [];
15
+ this.destOptions = [];
16
+ this.ownerOptions = [];
17
+ this.customerOptions = [];
18
+ this.unitOptions = [];
19
+ this.materialOptions = [];
20
+ this.jcodeOptions = [];
21
+ this.driverOption = [];
22
+ this.truckingCompanayOption = [];
23
+ this.routeNameOptions = [];
24
+ this.preventnavChange = new BehaviorSubject(false);
25
+ this.navChangeObserve = this.preventnavChange.asObservable();
26
+ this.clearViewRouteforJobCode = new BehaviorSubject(false);
27
+ this.clearViewRouteforJobCodeObserve = this.clearViewRouteforJobCode.asObservable();
28
+ this.preVentJobdetailclose = new BehaviorSubject(false);
29
+ this.getpreVentJobdetailclose = this.preVentJobdetailclose.asObservable();
30
+ this.routeDetailsUtility = new BehaviorSubject({});
31
+ this.getrouteDetailsUtility = this.routeDetailsUtility.asObservable();
32
+ this.removeMapEntity = new BehaviorSubject({});
33
+ this.removeMapEntityUtility = this.removeMapEntity.asObservable();
34
+ this.dict = new Map();
35
+ this.analyticsRESTURL = 'https://test-analytics.aggdirect.com/REST/';
36
+ this.RESTURLPrefix = 'https://test-server.aggdirect.com/REST/';
37
+ }
38
+ getDateFormat(strVal, seprater) {
39
+ seprater = seprater ? seprater : '-';
40
+ const mydate = strVal;
41
+ return (mydate === null || mydate === void 0 ? void 0 : mydate.getFullYear()) + seprater + ((mydate ? mydate.getMonth() : 0) + 1) + seprater + (mydate === null || mydate === void 0 ? void 0 : mydate.getDate());
42
+ }
43
+ getData(path) { return this.http.get(`${this.analyticsRESTURL}${path}`); }
44
+ postdata(path, data) { return this.http.post(`${this.analyticsRESTURL}${path}`, data); }
45
+ postDataWithRestUrl(path, data) { return this.http.post(`${this.RESTURLPrefix}${path}`, data); }
46
+ fetchAutoCompleteLocations(keyword) {
47
+ return this.http.get(`https://api.mapbox.com/geocoding/v5/mapbox.places/${keyword}.json?access_token=pk.eyJ1Ijoic2FudGFudS1vZ21hIiwiYSI6ImNsOGQ0cDVrNjAweTMzb3RmdG9ieTU5ZDkifQ.I6ZS7mViZYSvBo4zz-mGQQ&country=US`);
48
+ }
49
+ openSnackBar(message, className) {
50
+ this.snackBar.open(message, '', {
51
+ duration: 5000, verticalPosition: 'top', horizontalPosition: 'center', panelClass: [className ? className : 'default']
52
+ });
53
+ }
54
+ makeOptions(item) {
55
+ var _a;
56
+ if (item.order_number) {
57
+ (this.jcodeOptions.findIndex((elem) => elem.job_id === item.job_id) === -1) ? this.jcodeOptions.push({ job_code: item.order_number, job_id: item.job_id }) : null;
58
+ if (item.driver_list && ((_a = item.driver_list) === null || _a === void 0 ? void 0 : _a.length) > 0) {
59
+ item.driver_list.forEach((driver) => {
60
+ this.driverOption.findIndex(elem => elem === driver['driver_name']) === -1 ? this.driverOption.push(driver['driver_name']) : null;
61
+ this.truckingCompanayOption.findIndex(elem => elem === driver['trucking_company']) === -1 ? this.truckingCompanayOption.push(driver['trucking_company']) : null;
62
+ });
63
+ }
64
+ }
65
+ ((this.pickupOptions.findIndex((elem) => elem === item.pickup_location)) === -1) ? this.pickupOptions.push(item.pickup_location) : null;
66
+ ((this.destOptions.findIndex((elem) => elem === item.delivery_location)) === -1) ? this.destOptions.push(item.delivery_location) : null;
67
+ (this.customerOptions.findIndex((customer) => customer === item.customer_name) === -1) ? this.customerOptions.push(item.customer_name) : null;
68
+ (this.unitOptions.findIndex((elem) => elem === item.unit) === -1) ? this.unitOptions.push(item.unit) : null;
69
+ (this.materialOptions.findIndex((elem) => elem === item.material) === -1) ? this.materialOptions.push(item.material) : null;
70
+ if (item.route_name)
71
+ this.routeNameOptions.findIndex(elem => elem === item.route_name) === -1 ? this.routeNameOptions.push(item.route_name) : null;
72
+ }
73
+ filter(value, filters) {
74
+ if (typeof value !== 'string') {
75
+ return [];
76
+ }
77
+ const filterValue = value.toLowerCase();
78
+ if (filterValue === '') {
79
+ return [];
80
+ }
81
+ const searchResults = [];
82
+ this.unitOptions.map(unit => {
83
+ if (unit.toLowerCase().includes(filterValue)) {
84
+ searchResults.push({ "type": "unit", "label": unit, "value": unit });
85
+ }
86
+ });
87
+ this.customerOptions.map(unit => {
88
+ if (unit.toLowerCase().includes(filterValue)) {
89
+ searchResults.push({ "type": "customer", "label": unit, "value": unit });
90
+ }
91
+ });
92
+ this.materialOptions.map(unit => {
93
+ if (unit.toLowerCase().includes(filterValue)) {
94
+ searchResults.push({ "type": "material", "label": unit, "value": unit });
95
+ }
96
+ });
97
+ this.pickupOptions.map(unit => {
98
+ if (unit.toLowerCase().includes(filterValue)) {
99
+ searchResults.push({ "type": "pickup location", "label": unit, "value": unit });
100
+ }
101
+ });
102
+ this.destOptions.map(unit => {
103
+ if (unit.toLowerCase().includes(filterValue)) {
104
+ searchResults.push({ "type": "destination location", "label": unit, "value": unit });
105
+ }
106
+ });
107
+ this.jcodeOptions.map(unit => {
108
+ if (unit.job_code.toLowerCase().includes(filterValue)) {
109
+ searchResults.push({ "type": "job", "label": unit['job_code'], "value": unit });
110
+ }
111
+ });
112
+ this.driverOption.map(unit => {
113
+ if (unit.toLowerCase().includes(filterValue)) {
114
+ searchResults.push({ "type": "Driver", "label": unit, "value": unit });
115
+ }
116
+ });
117
+ this.truckingCompanayOption.map(unit => {
118
+ if (unit.toLowerCase().includes(filterValue)) {
119
+ searchResults.push({ "type": "Trucking Company", "label": unit, "value": unit });
120
+ }
121
+ });
122
+ this.routeNameOptions.map(unit => {
123
+ if (unit.toLowerCase().includes(filterValue)) {
124
+ searchResults.push({ "type": "Route name", "label": unit, "value": unit });
125
+ }
126
+ });
127
+ const searchDict = {};
128
+ filters.map((filter) => {
129
+ searchDict[filter['name'] + filter['type']] = filter;
130
+ });
131
+ const furtherFilter = [];
132
+ searchResults.map(search => {
133
+ if ((search['label'] + search['type']) in searchDict) { }
134
+ else {
135
+ furtherFilter.push(search);
136
+ }
137
+ });
138
+ return furtherFilter;
139
+ }
140
+ getSearchResults(list, filterval) {
141
+ return list.filter(element => {
142
+ var _a, _b;
143
+ const result_list_boolean = [];
144
+ if (filterval.length > 0) {
145
+ if (filterval[0]['type'] === 'unit') {
146
+ result_list_boolean.push(filterval[0]['name'] === element[filterval[0]['type']]);
147
+ }
148
+ if (filterval[0]['type'] === 'customer') {
149
+ result_list_boolean.push(filterval[0]['name'] === element['customer_name']);
150
+ }
151
+ if (filterval[0]['type'] === 'material') {
152
+ result_list_boolean.push(filterval[0]['name'] === element[filterval[0]['type']]);
153
+ }
154
+ if (filterval[0]['type'] === 'pickup location') {
155
+ result_list_boolean.push(filterval[0]['name'] === element['pickup_location']);
156
+ }
157
+ if (filterval[0]['type'] === 'destination location') {
158
+ result_list_boolean.push(filterval[0]['name'] === element['delivery_location']);
159
+ }
160
+ if (filterval[0]['type'] === 'job') {
161
+ result_list_boolean.push(filterval[0]['name'] === element['order_number']);
162
+ }
163
+ if (filterval[0]['type'] === 'Route name') {
164
+ result_list_boolean.push(filterval[0]['name'] === element['route_name']);
165
+ }
166
+ if (filterval[0]['type'] === 'Driver') {
167
+ const index = (_a = element.driver_list) === null || _a === void 0 ? void 0 : _a.findIndex(ele => { return filterval[0]['name'] === ele['driver_name']; });
168
+ if (index !== -1)
169
+ result_list_boolean.push(true);
170
+ }
171
+ if (filterval[0]['type'] === 'Trucking Company') {
172
+ const index = (_b = element.driver_list) === null || _b === void 0 ? void 0 : _b.findIndex(ele => { return filterval[0]['name'] === ele['trucking_company']; });
173
+ if (index !== -1)
174
+ result_list_boolean.push(true);
175
+ }
176
+ }
177
+ if (result_list_boolean.length > 0) {
178
+ return result_list_boolean.reduce((prev, curr) => prev && curr);
179
+ }
180
+ return false;
181
+ });
182
+ }
183
+ clearOptions() {
184
+ this.pickupOptions = [];
185
+ this.destOptions = [];
186
+ this.ownerOptions = [];
187
+ this.customerOptions = [];
188
+ this.unitOptions = [];
189
+ this.materialOptions = [];
190
+ this.jcodeOptions = [];
191
+ this.routeNameOptions = [];
192
+ }
193
+ setdictValue(key, value) {
194
+ this.dict.set(key, value);
195
+ }
196
+ getdictValue(key) {
197
+ return JSON.parse(this.dict.get(key));
198
+ }
199
+ removedictValue(key) {
200
+ this.dict.delete(key);
201
+ }
202
+ conveySearchIcon(value) {
203
+ if (value && typeof (value) !== 'object')
204
+ return true;
205
+ return false;
206
+ }
207
+ }
208
+ UtilsService.ɵprov = i0.ɵɵdefineInjectable({ factory: function UtilsService_Factory() { return new UtilsService(i0.ɵɵinject(i1.HttpClient), i0.ɵɵinject(i2.MatSnackBar)); }, token: UtilsService, providedIn: "root" });
209
+ UtilsService.decorators = [
210
+ { type: Injectable, args: [{ providedIn: 'root' },] }
211
+ ];
212
+ UtilsService.ctorParameters = () => [
213
+ { type: HttpClient },
214
+ { type: MatSnackBar }
215
+ ];
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlL3V0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7QUFJdkMsTUFBTSxPQUFPLFlBQVk7SUF3QnZCLFlBQW1CLElBQWdCLEVBQVEsUUFBcUI7UUFBN0MsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFRLGFBQVEsR0FBUixRQUFRLENBQWE7UUF2QmhFLHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBVSxFQUFFLENBQUM7UUFDbkMscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FB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QUMsQ0FBQyxJQUFJLENBQUM7UUFDeEksQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQ3hJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDOUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM1RyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVILElBQUksSUFBSSxDQUFDLFVBQVU7WUFBRSxJQUFJLENBQUMsZ0JB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QzFCLElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUNELFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBYTtRQUNyQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUNELFlBQVksQ0FBQyxHQUFXO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFDRCxlQUFlLENBQUMsR0FBVztRQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsZ0JBQWdCLENBQUMsS0FBVTtRQUN6QixJQUFHLEtBQUssSUFBSSxPQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssUUFBUTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBQ3BELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQzs7OztZQTlMRixVQUFVLFNBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzs7WUFOekIsVUFBVTtZQUVWLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlIH0gZnJvbSAnLi9kYXRhLW1vZGVsJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xyXG4gIGFuYWx5dGljc1JFU1RVUkwgPSAnJztcclxuICBSRVNUVVJMUHJlZml4ID0gJyc7XHJcbiAgcGlja3VwT3B0aW9uczogYW55W10gPSBbXTtcclxuICBkZXN0T3B0aW9uczogYW55W10gPSBbXTtcclxuICBvd25lck9wdGlvbnM6IGFueVtdID0gW107XHJcbiAgY3VzdG9tZXJPcHRpb25zOiBhbnlbXSA9IFtdO1xyXG4gIHVuaXRPcHRpb25zOiBhbnlbXSA9IFtdO1xyXG4gIG1hdGVyaWFsT3B0aW9uczogYW55W10gPSBbXTtcclxuICBqY29kZU9wdGlvbnM6IGFueVtdID0gW107XHJcbiAgZHJpdmVyT3B0aW9uOiBhbnlbXSA9IFtdO1xyXG4gIHRydWNraW5nQ29tcGFuYXlPcHRpb246IGFueVtdID0gW107XHJcbiAgcm91dGVOYW1lT3B0aW9uczogYW55W10gPSBbXTtcclxuICBwdWJsaWMgcHJldmVudG5hdkNoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIG5hdkNoYW5nZU9ic2VydmUgPSB0aGlzLnByZXZlbnRuYXZDaGFuZ2UuYXNPYnNlcnZhYmxlKCk7XHJcbiAgY2xlYXJWaWV3Um91dGVmb3JKb2JDb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XHJcbiAgY2xlYXJWaWV3Um91dGVmb3JKb2JDb2RlT2JzZXJ2ZSA9IHRoaXMuY2xlYXJWaWV3Um91dGVmb3JKb2JDb2RlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHByZVZlbnRKb2JkZXRhaWxjbG9zZSA9IG5ldyBCZWhhdmlvclN1YmplY3QoZmFsc2UpO1xyXG4gIGdldHByZVZlbnRKb2JkZXRhaWxjbG9zZSA9IHRoaXMucHJlVmVudEpvYmRldGFpbGNsb3NlLmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHJvdXRlRGV0YWlsc1V0aWxpdHkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHt9KTtcclxuICBnZXRyb3V0ZURldGFpbHNVdGlsaXR5ID0gdGhpcy5yb3V0ZURldGFpbHNVdGlsaXR5LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIHJlbW92ZU1hcEVudGl0eSA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xyXG4gIHJlbW92ZU1hcEVudGl0eVV0aWxpdHkgPSB0aGlzLnJlbW92ZU1hcEVudGl0eS5hc09ic2VydmFibGUoKTtcclxuICBkaWN0ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaHR0cDogSHR0cENsaWVudCxwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyKSB7XHJcbiAgICB0aGlzLmFuYWx5dGljc1JFU1RVUkwgPSAnaHR0cHM6Ly90ZXN0LWFuYWx5dGljcy5hZ2dkaXJlY3QuY29tL1JFU1QvJztcclxuICAgIHRoaXMuUkVTVFVSTFByZWZpeCA9ICdodHRwczovL3Rlc3Qtc2VydmVyLmFnZ2RpcmVjdC5jb20vUkVTVC8nO1xyXG4gIH1cclxuICBnZXREYXRlRm9ybWF0KHN0clZhbDogRGF0ZSB8IG51bGwsIHNlcHJhdGVyPzogc3RyaW5nKSB7XHJcbiAgICBzZXByYXRlciA9IHNlcHJhdGVyID8gc2VwcmF0ZXIgOiAnLSc7XHJcbiAgICBjb25zdCBteWRhdGUgPSBzdHJWYWw7XHJcbiAgICByZXR1cm4gbXlkYXRlPy5nZXRGdWxsWWVhcigpICsgc2VwcmF0ZXIgKyAoKG15ZGF0ZSA/IG15ZGF0ZS5nZXRNb250aCgpIDogMCkgKyAxKSArIHNlcHJhdGVyICsgbXlkYXRlPy5nZXREYXRlKCk7XHJcbiAgfVxyXG4gIGdldERhdGEocGF0aDogc3RyaW5nKSB7IHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYW5hbHl0aWNzUkVTVFVSTH0ke3BhdGh9YCkgfVxyXG4gIHBvc3RkYXRhKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSB7IHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFuYWx5dGljc1JFU1RVUkx9JHtwYXRofWAsIGRhdGEpIH1cclxuICBwb3N0RGF0YVdpdGhSZXN0VXJsKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSB7IHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLlJFU1RVUkxQcmVmaXh9JHtwYXRofWAsIGRhdGEpIH1cclxuICBmZXRjaEF1dG9Db21wbGV0ZUxvY2F0aW9ucyhrZXl3b3JkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGBodHRwczovL2FwaS5tYXBib3guY29tL2dlb2NvZGluZy92NS9tYXBib3gucGxhY2VzLyR7a2V5d29yZH0uanNvbj9hY2Nlc3NfdG9rZW49cGsuZXlKMUlqb2ljMkZ1ZEdGdWRTMXZaMjFoSWl3aVlTSTZJbU5zT0dRMGNEVnJOakF3ZVRNemIzUm1kRzlpZVRVNVpEa2lmUS5JNlpTN21WaVpZU3ZCbzR6ei1tR1FRJmNvdW50cnk9VVNgKVxyXG4gIH1cclxuICBvcGVuU25hY2tCYXIobWVzc2FnZTogc3RyaW5nLCBjbGFzc05hbWU/OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc25hY2tCYXIub3BlbihtZXNzYWdlLCAnJywge1xyXG4gICAgICBkdXJhdGlvbjogNTAwMCwgdmVydGljYWxQb3NpdGlvbjogJ3RvcCcsIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsIHBhbmVsQ2xhc3M6IFtjbGFzc05hbWUgPyBjbGFzc05hbWUgOiAnZGVmYXVsdCddXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG1ha2VPcHRpb25zKGl0ZW06IFJvdXRlKSB7XHJcbiAgICBpZiAoaXRlbS5vcmRlcl9udW1iZXIpIHtcclxuICAgICAgKHRoaXMuamNvZGVPcHRpb25zLmZpbmRJbmRleCgoZWxlbSkgPT4gZWxlbS5qb2JfaWQgPT09IGl0ZW0uam9iX2lkKSA9PT0gLTEpID8gdGhpcy5qY29kZU9wdGlvbnMucHVzaCh7IGpvYl9jb2RlOiBpdGVtLm9yZGVyX251bWJlciwgam9iX2lkOiBpdGVtLmpvYl9pZCB9KSA6IG51bGw7XHJcbiAgICAgIGlmIChpdGVtLmRyaXZlcl9saXN0ICYmIGl0ZW0uZHJpdmVyX2xpc3Q/Lmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpdGVtLmRyaXZlcl9saXN0LmZvckVhY2goKGRyaXZlcikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5kcml2ZXJPcHRpb24uZmluZEluZGV4KGVsZW0gPT4gZWxlbSA9PT0gZHJpdmVyWydkcml2ZXJfbmFtZSddKSA9PT0gLTEgPyB0aGlzLmRyaXZlck9wdGlvbi5wdXNoKGRyaXZlclsnZHJpdmVyX25hbWUnXSkgOiBudWxsO1xyXG4gICAgICAgICAgdGhpcy50cnVja2luZ0NvbXBhbmF5T3B0aW9uLmZpbmRJbmRleChlbGVtID0+IGVsZW0gPT09IGRyaXZlclsndHJ1Y2tpbmdfY29tcGFueSddKSA9PT0gLTEgPyB0aGlzLnRydWNraW5nQ29tcGFuYXlPcHRpb24ucHVzaChkcml2ZXJbJ3RydWNraW5nX2NvbXBhbnknXSkgOiBudWxsO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAoKHRoaXMucGlja3VwT3B0aW9ucy5maW5kSW5kZXgoKGVsZW0pID0+IGVsZW0gPT09IGl0ZW0ucGlja3VwX2xvY2F0aW9uKSkgPT09IC0xKSA/IHRoaXMucGlja3VwT3B0aW9ucy5wdXNoKGl0ZW0ucGlja3VwX2xvY2F0aW9uKSA6IG51bGw7XHJcbiAgICAoKHRoaXMuZGVzdE9wdGlvbnMuZmluZEluZGV4KChlbGVtKSA9PiBlbGVtID09PSBpdGVtLmRlbGl2ZXJ5X2xvY2F0aW9uKSkgPT09IC0xKSA/IHRoaXMuZGVzdE9wdGlvbnMucHVzaChpdGVtLmRlbGl2ZXJ5X2xvY2F0aW9uKSA6IG51bGw7XHJcbiAgICAodGhpcy5jdXN0b21lck9wdGlvbnMuZmluZEluZGV4KChjdXN0b21lcikgPT4gY3VzdG9tZXIgPT09IGl0ZW0uY3VzdG9tZXJfbmFtZSkgPT09IC0xKSA/IHRoaXMuY3VzdG9tZXJPcHRpb25zLnB1c2goaXRlbS5jdXN0b21lcl9uYW1lKSA6IG51bGw7XHJcbiAgICAodGhpcy51bml0T3B0aW9ucy5maW5kSW5kZXgoKGVsZW0pID0+IGVsZW0gPT09IGl0ZW0udW5pdCkgPT09IC0xKSA/IHRoaXMudW5pdE9wdGlvbnMucHVzaChpdGVtLnVuaXQpIDogbnVsbDtcclxuICAgICh0aGlzLm1hdGVyaWFsT3B0aW9ucy5maW5kSW5kZXgoKGVsZW0pID0+IGVsZW0gPT09IGl0ZW0ubWF0ZXJpYWwpID09PSAtMSkgPyB0aGlzLm1hdGVyaWFsT3B0aW9ucy5wdXNoKGl0ZW0ubWF0ZXJpYWwpIDogbnVsbDtcclxuICAgIGlmIChpdGVtLnJvdXRlX25hbWUpIHRoaXMucm91dGVOYW1lT3B0aW9ucy5maW5kSW5kZXgoZWxlbSA9PiBlbGVtID09PSBpdGVtLnJvdXRlX25hbWUpID09PSAtMSA/IHRoaXMucm91dGVOYW1lT3B0aW9ucy5wdXNoKGl0ZW0ucm91dGVfbmFtZSkgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKHZhbHVlOiBzdHJpbmcsIGZpbHRlcnM6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ3N0cmluZycpIHsgcmV0dXJuIFtdIH1cclxuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcclxuICAgIGlmIChmaWx0ZXJWYWx1ZSA9PT0gJycpIHsgcmV0dXJuIFtdIH1cclxuICAgIGNvbnN0IHNlYXJjaFJlc3VsdHM6IGFueVtdID0gW107XHJcbiAgICB0aGlzLnVuaXRPcHRpb25zLm1hcCh1bml0ID0+IHtcclxuICAgICAgaWYgKHVuaXQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpIHtcclxuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJ1bml0XCIsIFwibGFiZWxcIjogdW5pdCwgXCJ2YWx1ZVwiOiB1bml0IH0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5jdXN0b21lck9wdGlvbnMubWFwKHVuaXQgPT4ge1xyXG4gICAgICBpZiAodW5pdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkge1xyXG4gICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaCh7IFwidHlwZVwiOiBcImN1c3RvbWVyXCIsIFwibGFiZWxcIjogdW5pdCwgXCJ2YWx1ZVwiOiB1bml0IH0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5tYXRlcmlhbE9wdGlvbnMubWFwKHVuaXQgPT4ge1xyXG4gICAgICBpZiAodW5pdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkge1xyXG4gICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaCh7IFwidHlwZVwiOiBcIm1hdGVyaWFsXCIsIFwibGFiZWxcIjogdW5pdCwgXCJ2YWx1ZVwiOiB1bml0IH0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5waWNrdXBPcHRpb25zLm1hcCh1bml0ID0+IHtcclxuICAgICAgaWYgKHVuaXQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpIHtcclxuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJwaWNrdXAgbG9jYXRpb25cIiwgXCJsYWJlbFwiOiB1bml0LCBcInZhbHVlXCI6IHVuaXQgfSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRlc3RPcHRpb25zLm1hcCh1bml0ID0+IHtcclxuICAgICAgaWYgKHVuaXQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpIHtcclxuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJkZXN0aW5hdGlvbiBsb2NhdGlvblwiLCBcImxhYmVsXCI6IHVuaXQsIFwidmFsdWVcIjogdW5pdCB9KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuamNvZGVPcHRpb25zLm1hcCh1bml0ID0+IHtcclxuICAgICAgaWYgKHVuaXQuam9iX2NvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpIHtcclxuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJqb2JcIiwgXCJsYWJlbFwiOiB1bml0Wydqb2JfY29kZSddLCBcInZhbHVlXCI6IHVuaXQgfSlcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLmRyaXZlck9wdGlvbi5tYXAodW5pdCA9PiB7XHJcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XHJcbiAgICAgICAgc2VhcmNoUmVzdWx0cy5wdXNoKHsgXCJ0eXBlXCI6IFwiRHJpdmVyXCIsIFwibGFiZWxcIjogdW5pdCwgXCJ2YWx1ZVwiOiB1bml0IH0pXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMudHJ1Y2tpbmdDb21wYW5heU9wdGlvbi5tYXAodW5pdCA9PiB7XHJcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XHJcbiAgICAgICAgc2VhcmNoUmVzdWx0cy5wdXNoKHsgXCJ0eXBlXCI6IFwiVHJ1Y2tpbmcgQ29tcGFueVwiLCBcImxhYmVsXCI6IHVuaXQsIFwidmFsdWVcIjogdW5pdCB9KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMucm91dGVOYW1lT3B0aW9ucy5tYXAodW5pdCA9PiB7XHJcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XHJcbiAgICAgICAgc2VhcmNoUmVzdWx0cy5wdXNoKHsgXCJ0eXBlXCI6IFwiUm91dGUgbmFtZVwiLCBcImxhYmVsXCI6IHVuaXQsIFwidmFsdWVcIjogdW5pdCB9KVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IHNlYXJjaERpY3Q6IGFueSA9IHt9XHJcbiAgICBmaWx0ZXJzLm1hcCgoZmlsdGVyOiB7IFt4OiBzdHJpbmddOiBhbnk7IH0pID0+IHtcclxuICAgICAgc2VhcmNoRGljdFtmaWx0ZXJbJ25hbWUnXSArIGZpbHRlclsndHlwZSddXSA9IGZpbHRlcjtcclxuICAgIH0pXHJcbiAgICBjb25zdCBmdXJ0aGVyRmlsdGVyOiBhbnlbXSA9IFtdO1xyXG4gICAgc2VhcmNoUmVzdWx0cy5tYXAoc2VhcmNoID0+IHtcclxuICAgICAgaWYgKChzZWFyY2hbJ2xhYmVsJ10gKyBzZWFyY2hbJ3R5cGUnXSkgaW4gc2VhcmNoRGljdCkgeyB9XHJcbiAgICAgIGVsc2UgeyBmdXJ0aGVyRmlsdGVyLnB1c2goc2VhcmNoKSB9XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBmdXJ0aGVyRmlsdGVyO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VhcmNoUmVzdWx0cyhsaXN0OiBSb3V0ZVtdLCBmaWx0ZXJ2YWw6IGFueSk6IGFueSB7XHJcbiAgICByZXR1cm4gbGlzdC5maWx0ZXIoZWxlbWVudCA9PiB7XHJcbiAgICAgIGNvbnN0IHJlc3VsdF9saXN0X2Jvb2xlYW4gPSBbXVxyXG4gICAgICBpZiAoZmlsdGVydmFsLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICd1bml0Jykge1xyXG4gICAgICAgICAgcmVzdWx0X2xpc3RfYm9vbGVhbi5wdXNoKGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVtZW50W2ZpbHRlcnZhbFswXVsndHlwZSddIGFzIGtleW9mIFJvdXRlXSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ2N1c3RvbWVyJykge1xyXG4gICAgICAgICAgcmVzdWx0X2xpc3RfYm9vbGVhbi5wdXNoKGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVtZW50WydjdXN0b21lcl9uYW1lJ10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICdtYXRlcmlhbCcpIHtcclxuICAgICAgICAgIHJlc3VsdF9saXN0X2Jvb2xlYW4ucHVzaChmaWx0ZXJ2YWxbMF1bJ25hbWUnXSA9PT0gZWxlbWVudFtmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSBhcyBrZXlvZiBSb3V0ZV0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICdwaWNrdXAgbG9jYXRpb24nKSB7XHJcbiAgICAgICAgICByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2goZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZW1lbnRbJ3BpY2t1cF9sb2NhdGlvbiddKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlcnZhbFswXVsndHlwZSddID09PSAnZGVzdGluYXRpb24gbG9jYXRpb24nKSB7XHJcbiAgICAgICAgICByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2goZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZW1lbnRbJ2RlbGl2ZXJ5X2xvY2F0aW9uJ10pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICdqb2InKSB7XHJcbiAgICAgICAgICByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2goZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZW1lbnRbJ29yZGVyX251bWJlciddKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlcnZhbFswXVsndHlwZSddID09PSAnUm91dGUgbmFtZScpIHtcclxuICAgICAgICAgIHJlc3VsdF9saXN0X2Jvb2xlYW4ucHVzaChmaWx0ZXJ2YWxbMF1bJ25hbWUnXSA9PT0gZWxlbWVudFsncm91dGVfbmFtZSddKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGZpbHRlcnZhbFswXVsndHlwZSddID09PSAnRHJpdmVyJykge1xyXG4gICAgICAgICAgY29uc3QgaW5kZXggPSBlbGVtZW50LmRyaXZlcl9saXN0Py5maW5kSW5kZXgoZWxlID0+IHsgcmV0dXJuIGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVbJ2RyaXZlcl9uYW1lJ10gfSk7XHJcbiAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2godHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ1RydWNraW5nIENvbXBhbnknKSB7XHJcbiAgICAgICAgICBjb25zdCBpbmRleCA9IGVsZW1lbnQuZHJpdmVyX2xpc3Q/LmZpbmRJbmRleChlbGUgPT4geyByZXR1cm4gZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZVsndHJ1Y2tpbmdfY29tcGFueSddIH0pO1xyXG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkgcmVzdWx0X2xpc3RfYm9vbGVhbi5wdXNoKHRydWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBpZiAocmVzdWx0X2xpc3RfYm9vbGVhbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdF9saXN0X2Jvb2xlYW4ucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICYmIGN1cnIpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJPcHRpb25zKCkge1xyXG4gICAgdGhpcy5waWNrdXBPcHRpb25zID0gW107XHJcbiAgICB0aGlzLmRlc3RPcHRpb25zID0gW107XHJcbiAgICB0aGlzLm93bmVyT3B0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5jdXN0b21lck9wdGlvbnMgPSBbXTtcclxuICAgIHRoaXMudW5pdE9wdGlvbnMgPSBbXTtcclxuICAgIHRoaXMubWF0ZXJpYWxPcHRpb25zID0gW107XHJcbiAgICB0aGlzLmpjb2RlT3B0aW9ucyA9IFtdO1xyXG4gICAgdGhpcy5yb3V0ZU5hbWVPcHRpb25zID0gW107XHJcbiAgfVxyXG4gIHNldGRpY3RWYWx1ZShrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5kaWN0LnNldChrZXksIHZhbHVlKTtcclxuICB9XHJcbiAgZ2V0ZGljdFZhbHVlKGtleTogc3RyaW5nKSB7XHJcbiAgICByZXR1cm4gSlNPTi5wYXJzZSh0aGlzLmRpY3QuZ2V0KGtleSkpO1xyXG4gIH1cclxuICByZW1vdmVkaWN0VmFsdWUoa2V5OiBzdHJpbmcpIHtcclxuICAgIHRoaXMuZGljdC5kZWxldGUoa2V5KTtcclxuICB9XHJcbiAgY29udmV5U2VhcmNoSWNvbih2YWx1ZTogYW55KTogYm9vbGVhbntcclxuICAgIGlmKHZhbHVlICYmIHR5cGVvZih2YWx1ZSkgIT09ICdvYmplY3QnKSByZXR1cm4gdHJ1ZTtcclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -1,14 +1,13 @@
1
1
  import { __awaiter } from 'tslib';
2
- import * as i0 from '@angular/core';
3
- import { Injectable } from '@angular/core';
4
- import * as mapboxgl from 'mapbox-gl';
5
- import * as turf from '@turf/turf';
2
+ import { ɵɵdefineInjectable, ɵɵinject, Injectable } from '@angular/core';
3
+ import { LngLatBounds, Map as Map$1, Marker, Popup } from 'mapbox-gl';
4
+ import { length, along } from '@turf/turf';
6
5
  import { BehaviorSubject } from 'rxjs';
6
+ import { HttpClient } from '@angular/common/http';
7
+ import { MatSnackBar } from '@angular/material/snack-bar';
8
+ import { EventManager } from '@angular/platform-browser';
7
9
  import { MapboxLayer } from '@deck.gl/mapbox';
8
10
  import { ArcLayer } from '@deck.gl/layers';
9
- import * as i1 from '@angular/common/http';
10
- import * as i2 from '@angular/material/snack-bar';
11
- import * as i2$1 from '@angular/platform-browser';
12
11
 
13
12
  class UtilsService {
14
13
  constructor(http, snackBar) {
@@ -210,12 +209,14 @@ class UtilsService {
210
209
  return false;
211
210
  }
212
211
  }
213
- UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UtilsService, deps: [{ token: i1.HttpClient }, { token: i2.MatSnackBar }], target: i0.ɵɵFactoryTarget.Injectable });
214
- UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UtilsService, providedIn: 'root' });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: UtilsService, decorators: [{
216
- type: Injectable,
217
- args: [{ providedIn: 'root' }]
218
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MatSnackBar }]; } });
212
+ UtilsService.ɵprov = ɵɵdefineInjectable({ factory: function UtilsService_Factory() { return new UtilsService(ɵɵinject(HttpClient), ɵɵinject(MatSnackBar)); }, token: UtilsService, providedIn: "root" });
213
+ UtilsService.decorators = [
214
+ { type: Injectable, args: [{ providedIn: 'root' },] }
215
+ ];
216
+ UtilsService.ctorParameters = () => [
217
+ { type: HttpClient },
218
+ { type: MatSnackBar }
219
+ ];
219
220
 
220
221
  class CoolmapService {
221
222
  constructor(utils, eventManager) {
@@ -225,7 +226,7 @@ class CoolmapService {
225
226
  this.markerDestinationList = [];
226
227
  this.initiatecoolmap = new BehaviorSubject(true);
227
228
  this.reintiatecoolmap = this.initiatecoolmap.asObservable();
228
- this.bounds = new mapboxgl.LngLatBounds();
229
+ this.bounds = new LngLatBounds();
229
230
  this.originDestinationCordinates = [];
230
231
  this.eventManager.addGlobalEventListener('window', 'resize', this.onResize.bind(this));
231
232
  this.windowActualHeightWidth = { availHeight: 0 };
@@ -233,7 +234,7 @@ class CoolmapService {
233
234
  initiateMapForAddRoute(el) {
234
235
  return new Promise((resolve, reject) => {
235
236
  this.map.remove();
236
- this.map = new mapboxgl.Map({
237
+ this.map = new Map$1({
237
238
  accessToken: 'pk.eyJ1Ijoic2FudGFudS1vZ21hIiwiYSI6ImNsOGQ0cDVrNjAweTMzb3RmdG9ieTU5ZDkifQ.I6ZS7mViZYSvBo4zz-mGQQ',
238
239
  container: el,
239
240
  style: 'mapbox://styles/santanu-ogma/cl8ep33uz003414n1twlosz9d',
@@ -258,16 +259,16 @@ class CoolmapService {
258
259
  { 'type': 'Feature', 'properties': {}, 'geometry': { 'type': 'Point', 'coordinates': origin } }
259
260
  ]
260
261
  };
261
- const lineDistance = turf.length(pinRouteGeojson.features[0]);
262
+ const lineDistance = length(pinRouteGeojson.features[0]);
262
263
  const arc = [];
263
264
  const steps = 10 * pinRouteGeojson.features[0].geometry.coordinates.length;
264
265
  for (let i = 0; i < lineDistance; i += lineDistance / steps) {
265
- const segment = turf.along(pinRouteGeojson.features[0], i);
266
+ const segment = along(pinRouteGeojson.features[0], i);
266
267
  arc.push(segment.geometry.coordinates);
267
268
  }
268
269
  pinRouteGeojson.features[0].geometry.coordinates = arc;
269
270
  const pinRoute = pinRouteGeojson.features[0].geometry.coordinates;
270
- const marker = new mapboxgl.Marker(document.createElement('div'))
271
+ const marker = new Marker(document.createElement('div'))
271
272
  .setLngLat(pinRoute[0]).addTo(this.map).togglePopup();
272
273
  if (this.map.getSource(`line${index}`)) {
273
274
  this.removeRouteAndMarker(index).then(() => { });
@@ -419,7 +420,7 @@ class CoolmapService {
419
420
  }
420
421
  }
421
422
  createPopup(datasetForPopup) {
422
- this.popup = new mapboxgl.Popup({
423
+ this.popup = new Popup({
423
424
  closeButton: false,
424
425
  closeOnClick: false,
425
426
  closeOnMove: true,
@@ -449,20 +450,20 @@ class CoolmapService {
449
450
  createMarker(routeDetails) {
450
451
  var _a, _b;
451
452
  if (routeDetails.origin[0] && routeDetails.origin[1] && routeDetails.destination[0] && routeDetails.destination[1]) {
452
- const popup = new mapboxgl.Popup({ closeButton: false }).setHTML('<b>Pickup: </b>' + ((_a = routeDetails.route) === null || _a === void 0 ? void 0 : _a.pickup_location));
453
- const popupForDestination = new mapboxgl.Popup({ closeButton: false })
453
+ const popup = new Popup({ closeButton: false }).setHTML('<b>Pickup: </b>' + ((_a = routeDetails.route) === null || _a === void 0 ? void 0 : _a.pickup_location));
454
+ const popupForDestination = new Popup({ closeButton: false })
454
455
  .setHTML('<b>Delivery: </b>' + ((_b = routeDetails.route) === null || _b === void 0 ? void 0 : _b.delivery_location));
455
456
  const el = document.createElement('div');
456
457
  el.className = 'marker';
457
458
  el.innerHTML = `<span class='markerPointer' style='background:${routeDetails.linecolor}'><b>P</b><span class='markerSpan' style='border-top: 10px solid ${routeDetails.linecolor}'></span></span>`;
458
- const originMarker = new mapboxgl.Marker(el)
459
+ const originMarker = new Marker(el)
459
460
  .setPopup(popup).setLngLat(routeDetails.origin).addTo(this.map);
460
461
  originMarker.getElement().addEventListener('mouseenter', () => originMarker.togglePopup());
461
462
  originMarker.getElement().addEventListener('mouseleave', () => originMarker.togglePopup());
462
463
  const elementForDestination = document.createElement('div');
463
464
  elementForDestination.className = 'marker';
464
465
  elementForDestination.innerHTML = `<span class='markerPointer' style='background:${routeDetails.linecolor}'><b>D</b><span class='markerSpan' style='border-top: 10px solid ${routeDetails.linecolor}'></span></span>`;
465
- const destinationMarker = new mapboxgl.Marker(elementForDestination).setPopup(popupForDestination).setLngLat(routeDetails.destination).addTo(this.map);
466
+ const destinationMarker = new Marker(elementForDestination).setPopup(popupForDestination).setLngLat(routeDetails.destination).addTo(this.map);
466
467
  destinationMarker.getElement().addEventListener('mouseenter', () => destinationMarker.togglePopup());
467
468
  destinationMarker.getElement().addEventListener('mouseleave', () => destinationMarker.togglePopup());
468
469
  this.markerOriginList[routeDetails.index] = originMarker;
@@ -532,10 +533,8 @@ class CoolmapService {
532
533
  if (typeof route === 'string') {
533
534
  let path = route.split(';');
534
535
  path = path.map((ele) => { return ele = this.formateLatLong(ele); });
535
- path.forEach((ele, index) => {
536
- if (ele.length === 1)
537
- path.splice(index, 1);
538
- });
536
+ path.forEach((ele, index) => { if (ele.length === 1)
537
+ path.splice(index, 1); });
539
538
  route = path;
540
539
  }
541
540
  if (route[0][0] && route[0][1] && route[route.length - 1][0] && route[route.length - 1][1]) {
@@ -551,17 +550,15 @@ class CoolmapService {
551
550
  if (showAllFitbound && (Object.keys(this.bounds).length > 0))
552
551
  this.map.fitBounds(this.bounds, { padding }, { fitboundComplete: true });
553
552
  }, 100);
554
- this.map.once('moveend', (event) => {
555
- if (event.fitboundComplete) {
556
- resolve(true);
557
- }
558
- });
553
+ this.map.once('moveend', (event) => { if (event.fitboundComplete) {
554
+ resolve(true);
555
+ } });
559
556
  }
560
557
  });
561
558
  }
562
559
  extendReBound(bottom) {
563
560
  return new Promise((resolve, reject) => {
564
- this.bounds = new mapboxgl.LngLatBounds();
561
+ this.bounds = new LngLatBounds();
565
562
  if (this.originDestinationCordinates.length >= 0) {
566
563
  this.originDestinationCordinates.map((item, index) => {
567
564
  item.map((route) => {
@@ -591,10 +588,8 @@ class CoolmapService {
591
588
  if (res['data']['route']) {
592
589
  let path = res['data']['route'].split(';');
593
590
  path = path.map((ele) => { return ele = this.formateLatLong(ele); });
594
- path.forEach((ele, index) => {
595
- if (ele.length === 1)
596
- path.splice(index, 1);
597
- });
591
+ path.forEach((ele, index) => { if (ele.length === 1)
592
+ path.splice(index, 1); });
598
593
  route['path'] = path;
599
594
  this.extendBound(route['path'], showAllFitbound);
600
595
  if (route['path'] && route['path'].length > 0)
@@ -605,20 +600,16 @@ class CoolmapService {
605
600
  this.extendBound(null, showAllFitbound);
606
601
  }
607
602
  resolve(true);
608
- }, (err) => {
609
- if (err) {
610
- reject(false);
611
- }
612
- });
603
+ }, (err) => { if (err) {
604
+ reject(false);
605
+ } });
613
606
  }
614
607
  else if (['jobrouteList', 'addroute'].includes(type)) {
615
608
  if (route['path'] && route['path'].length > 0) {
616
609
  let path = route['path'].split(';');
617
610
  path = path.map((ele) => { return ele = this.formateLatLong(ele); });
618
- path.forEach((ele, index) => {
619
- if (ele.length === 1)
620
- path.splice(index, 1);
621
- });
611
+ path.forEach((ele, index) => { if (ele.length === 1)
612
+ path.splice(index, 1); });
622
613
  this.extendBound(path, showAllFitbound);
623
614
  this.drawLine(path, i, route, enablefitbound, type);
624
615
  }
@@ -626,10 +617,10 @@ class CoolmapService {
626
617
  }
627
618
  });
628
619
  }
629
- clearBound() { this.bounds = new mapboxgl.LngLatBounds(); this.originDestinationCordinates = []; this.clearPadding(); }
620
+ clearBound() { this.bounds = new LngLatBounds(); this.originDestinationCordinates = []; this.clearPadding(); }
630
621
  formateLatLong(latlong) { return latlong ? latlong.split(',').map(x => +x).reverse() : null; }
631
622
  clearBoundWithCordinates() {
632
- this.bounds = new mapboxgl.LngLatBounds();
623
+ this.bounds = new LngLatBounds();
633
624
  this.originDestinationCordinates = [];
634
625
  }
635
626
  onResize(event) {
@@ -655,12 +646,14 @@ class CoolmapService {
655
646
  });
656
647
  }
657
648
  }
658
- CoolmapService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CoolmapService, deps: [{ token: UtilsService }, { token: i2$1.EventManager }], target: i0.ɵɵFactoryTarget.Injectable });
659
- CoolmapService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CoolmapService, providedIn: 'root' });
660
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: CoolmapService, decorators: [{
661
- type: Injectable,
662
- args: [{ providedIn: 'root' }]
663
- }], ctorParameters: function () { return [{ type: UtilsService }, { type: i2$1.EventManager }]; } });
649
+ CoolmapService.ɵprov = ɵɵdefineInjectable({ factory: function CoolmapService_Factory() { return new CoolmapService(ɵɵinject(UtilsService), ɵɵinject(EventManager)); }, token: CoolmapService, providedIn: "root" });
650
+ CoolmapService.decorators = [
651
+ { type: Injectable, args: [{ providedIn: 'root' },] }
652
+ ];
653
+ CoolmapService.ctorParameters = () => [
654
+ { type: UtilsService },
655
+ { type: EventManager }
656
+ ];
664
657
 
665
658
  class Route {
666
659
  constructor() {
@@ -706,4 +699,4 @@ class PopupData {
706
699
  */
707
700
 
708
701
  export { CoolmapService, DriverSmsCardEnum, DriversmsCardKey, EstinationData, EstinationEnum, JobCodeOverviewData, JobCodeOverviewEnum, PopupData, Route, UtilsService };
709
- //# sourceMappingURL=aggdirect-coolmap-services.mjs.map
702
+ //# sourceMappingURL=coolmap-services.js.map