kwikid-agent-dashboard 0.0.3 → 0.0.4
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/bundles/kwikid-agent-dashboard.umd.js +805 -578
- package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
- package/esm2015/lib/components/customer-list/customer-list.component.js +56 -68
- package/esm2015/lib/components/customer-tile/customer-tile.component.js +30 -24
- package/esm2015/lib/components/customer-tile/status-pill/status-pill.component.js +29 -0
- package/esm2015/lib/components/customer-tile/status-pill/status-pill.definitions.js +18 -0
- package/esm2015/lib/kwikid-agent-dashboard.component.js +507 -124
- package/esm2015/lib/kwikid-agent-dashboard.module.js +54 -27
- package/esm2015/lib/pipes/search-filter.pipe.js +62 -0
- package/esm2015/lib/services/info-window.service.js +5 -3
- package/esm2015/lib/services/map.service.js +50 -124
- package/fesm2015/kwikid-agent-dashboard.js +764 -513
- package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
- package/lib/components/customer-list/customer-list.component.d.ts +19 -58
- package/lib/components/customer-tile/customer-tile.component.d.ts +7 -10
- package/lib/components/customer-tile/status-pill/status-pill.component.d.ts +10 -0
- package/lib/components/customer-tile/status-pill/status-pill.definitions.d.ts +10 -0
- package/lib/kwikid-agent-dashboard.component.d.ts +132 -95
- package/lib/kwikid-agent-dashboard.module.d.ts +13 -12
- package/lib/pipes/search-filter.pipe.d.ts +25 -0
- package/lib/services/map.service.d.ts +15 -16
- package/package.json +4 -2
- package/esm2015/lib/components/add-customer/add-customer.component.js +0 -66
- package/esm2015/lib/components/menu/menu.component.js +0 -34
- package/esm2015/lib/services/agent.service.js +0 -47
- package/esm2015/lib/services/customer.service.js +0 -20
- package/esm2015/lib/shared/interfaces/customer.js +0 -2
- package/esm2015/lib/svgs/kyc-pending/kyc-pending.component.js +0 -18
- package/esm2015/lib/svgs/kyc-success/kyc-success.component.js +0 -18
- package/lib/components/add-customer/add-customer.component.d.ts +0 -16
- package/lib/components/menu/menu.component.d.ts +0 -18
- package/lib/services/agent.service.d.ts +0 -18
- package/lib/services/customer.service.d.ts +0 -9
- package/lib/shared/interfaces/customer.d.ts +0 -16
- package/lib/svgs/kyc-pending/kyc-pending.component.d.ts +0 -8
- package/lib/svgs/kyc-success/kyc-success.component.d.ts +0 -8
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import { CommonModule } from
|
|
2
|
-
import { HttpClientModule } from
|
|
3
|
-
import { NgModule } from
|
|
4
|
-
import { FormsModule, ReactiveFormsModule } from
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import { KwikUIButtonModule, KwikUIButtonIconModule, KwikUIInputDateModule, KwikUIInputModule, KwikUISelectComboboxModule, KwikUITableModule, KwikUITablePaginationModule } from "kwikui";
|
|
12
|
-
import { RouterTestingModule } from "@angular/router/testing";
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { HttpClientJsonpModule, HttpClientModule } from '@angular/common/http';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { GoogleMapsModule } from '@angular/google-maps';
|
|
6
|
+
import { ScrollingModule } from '@angular/cdk/scrolling';
|
|
7
|
+
import { CustomerListComponent } from './components/customer-list/customer-list.component';
|
|
8
|
+
import { CustomerTileComponent } from './components/customer-tile/customer-tile.component';
|
|
9
|
+
import { KwikIDAgentDashboardComponent } from './kwikid-agent-dashboard.component';
|
|
10
|
+
import { KwikUIButtonIconModule, KwikUIButtonModule, KwikUIInputDateModule, KwikUIInputModule, KwikUIInputDateRangeModule, KwikUISelectComboboxModule, KwikUITableModule, KwikUITablePaginationModule } from 'kwikui';
|
|
13
11
|
import { TuiSidebarModule } from '@taiga-ui/addon-mobile';
|
|
14
12
|
import { TuiActiveZoneModule } from '@taiga-ui/cdk';
|
|
15
|
-
import {
|
|
13
|
+
import { TuiDialogModule, TuiDropdownModule, TuiGroupModule, TuiRootModule, TuiSvgModule } from '@taiga-ui/core';
|
|
14
|
+
import { KwikIDFormViewModule } from 'kwikid-forms';
|
|
15
|
+
import { Ng2SearchPipe } from './pipes/search-filter.pipe';
|
|
16
|
+
import { StatusPillComponent } from './components/customer-tile/status-pill/status-pill.component';
|
|
16
17
|
import * as i0 from "@angular/core";
|
|
17
18
|
export class KwikIDAgentDashboardModule {
|
|
18
19
|
}
|
|
@@ -20,38 +21,56 @@ export class KwikIDAgentDashboardModule {
|
|
|
20
21
|
/** @nocollapse */ KwikIDAgentDashboardModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, declarations: [KwikIDAgentDashboardComponent,
|
|
21
22
|
CustomerListComponent,
|
|
22
23
|
CustomerTileComponent,
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
KycPendingComponent,
|
|
26
|
-
AddCustomerComponent], imports: [CommonModule,
|
|
24
|
+
Ng2SearchPipe,
|
|
25
|
+
StatusPillComponent], imports: [CommonModule,
|
|
27
26
|
HttpClientModule,
|
|
28
27
|
FormsModule,
|
|
29
28
|
ReactiveFormsModule,
|
|
30
|
-
RouterTestingModule,
|
|
31
29
|
KwikUIButtonModule,
|
|
32
30
|
KwikUIButtonIconModule,
|
|
33
31
|
KwikUIInputModule,
|
|
34
32
|
KwikUIInputDateModule,
|
|
33
|
+
KwikUIInputDateRangeModule,
|
|
35
34
|
KwikUISelectComboboxModule,
|
|
36
35
|
KwikUITableModule,
|
|
37
36
|
KwikUITablePaginationModule,
|
|
37
|
+
KwikIDFormViewModule,
|
|
38
|
+
TuiRootModule,
|
|
39
|
+
TuiDialogModule,
|
|
40
|
+
TuiDropdownModule,
|
|
38
41
|
TuiSidebarModule,
|
|
39
|
-
TuiActiveZoneModule
|
|
42
|
+
TuiActiveZoneModule,
|
|
43
|
+
TuiGroupModule,
|
|
44
|
+
TuiSvgModule,
|
|
45
|
+
ScrollingModule,
|
|
46
|
+
GoogleMapsModule,
|
|
47
|
+
HttpClientModule,
|
|
48
|
+
HttpClientJsonpModule], exports: [KwikIDAgentDashboardComponent] });
|
|
40
49
|
/** @nocollapse */ KwikIDAgentDashboardModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, imports: [[
|
|
41
50
|
CommonModule,
|
|
42
51
|
HttpClientModule,
|
|
43
52
|
FormsModule,
|
|
44
53
|
ReactiveFormsModule,
|
|
45
|
-
RouterTestingModule,
|
|
46
54
|
KwikUIButtonModule,
|
|
47
55
|
KwikUIButtonIconModule,
|
|
48
56
|
KwikUIInputModule,
|
|
49
57
|
KwikUIInputDateModule,
|
|
58
|
+
KwikUIInputDateRangeModule,
|
|
50
59
|
KwikUISelectComboboxModule,
|
|
51
60
|
KwikUITableModule,
|
|
52
61
|
KwikUITablePaginationModule,
|
|
62
|
+
KwikIDFormViewModule,
|
|
63
|
+
TuiRootModule,
|
|
64
|
+
TuiDialogModule,
|
|
65
|
+
TuiDropdownModule,
|
|
53
66
|
TuiSidebarModule,
|
|
54
67
|
TuiActiveZoneModule,
|
|
68
|
+
TuiGroupModule,
|
|
69
|
+
TuiSvgModule,
|
|
70
|
+
ScrollingModule,
|
|
71
|
+
GoogleMapsModule,
|
|
72
|
+
HttpClientModule,
|
|
73
|
+
HttpClientJsonpModule
|
|
55
74
|
]] });
|
|
56
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModule, decorators: [{
|
|
57
76
|
type: NgModule,
|
|
@@ -60,28 +79,36 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
60
79
|
KwikIDAgentDashboardComponent,
|
|
61
80
|
CustomerListComponent,
|
|
62
81
|
CustomerTileComponent,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
KycPendingComponent,
|
|
66
|
-
AddCustomerComponent,
|
|
82
|
+
Ng2SearchPipe,
|
|
83
|
+
StatusPillComponent
|
|
67
84
|
],
|
|
68
85
|
imports: [
|
|
69
86
|
CommonModule,
|
|
70
87
|
HttpClientModule,
|
|
71
88
|
FormsModule,
|
|
72
89
|
ReactiveFormsModule,
|
|
73
|
-
RouterTestingModule,
|
|
74
90
|
KwikUIButtonModule,
|
|
75
91
|
KwikUIButtonIconModule,
|
|
76
92
|
KwikUIInputModule,
|
|
77
93
|
KwikUIInputDateModule,
|
|
94
|
+
KwikUIInputDateRangeModule,
|
|
78
95
|
KwikUISelectComboboxModule,
|
|
79
96
|
KwikUITableModule,
|
|
80
97
|
KwikUITablePaginationModule,
|
|
98
|
+
KwikIDFormViewModule,
|
|
99
|
+
TuiRootModule,
|
|
100
|
+
TuiDialogModule,
|
|
101
|
+
TuiDropdownModule,
|
|
81
102
|
TuiSidebarModule,
|
|
82
103
|
TuiActiveZoneModule,
|
|
104
|
+
TuiGroupModule,
|
|
105
|
+
TuiSvgModule,
|
|
106
|
+
ScrollingModule,
|
|
107
|
+
GoogleMapsModule,
|
|
108
|
+
HttpClientModule,
|
|
109
|
+
HttpClientJsonpModule
|
|
83
110
|
],
|
|
84
|
-
exports: [KwikIDAgentDashboardComponent]
|
|
111
|
+
exports: [KwikIDAgentDashboardComponent]
|
|
85
112
|
}]
|
|
86
113
|
}] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIva3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUVuRixPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsaUJBQWlCLEVBQ2pCLDJCQUEyQixFQUM1QixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDOztBQTJDbkcsTUFBTSxPQUFPLDBCQUEwQjs7MklBQTFCLDBCQUEwQjs0SUFBMUIsMEJBQTBCLGlCQXZDbkMsNkJBQTZCO1FBQzdCLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLG1CQUFtQixhQUduQixZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFdBQVc7UUFDWCxtQkFBbUI7UUFFbkIsa0JBQWtCO1FBQ2xCLHNCQUFzQjtRQUN0QixpQkFBaUI7UUFDakIscUJBQXFCO1FBQ3JCLDBCQUEwQjtRQUMxQiwwQkFBMEI7UUFDMUIsaUJBQWlCO1FBQ2pCLDJCQUEyQjtRQUUzQixvQkFBb0I7UUFFcEIsYUFBYTtRQUNiLGVBQWU7UUFDZixpQkFBaUI7UUFDakIsZ0JBQWdCO1FBQ2hCLG1CQUFtQjtRQUNuQixjQUFjO1FBQ2QsWUFBWTtRQUVaLGVBQWU7UUFFZixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLHFCQUFxQixhQUViLDZCQUE2Qjs0SUFFNUIsMEJBQTBCLFlBakM1QjtZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLG1CQUFtQjtZQUVuQixrQkFBa0I7WUFDbEIsc0JBQXNCO1lBQ3RCLGlCQUFpQjtZQUNqQixxQkFBcUI7WUFDckIsMEJBQTBCO1lBQzFCLDBCQUEwQjtZQUMxQixpQkFBaUI7WUFDakIsMkJBQTJCO1lBRTNCLG9CQUFvQjtZQUVwQixhQUFhO1lBQ2IsZUFBZTtZQUNmLGlCQUFpQjtZQUNqQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLGNBQWM7WUFDZCxZQUFZO1lBRVosZUFBZTtZQUVmLGdCQUFnQjtZQUNoQixnQkFBZ0I7WUFDaEIscUJBQXFCO1NBQ3RCOzRGQUdVLDBCQUEwQjtrQkF6Q3RDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLDZCQUE2Qjt3QkFDN0IscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLGFBQWE7d0JBQ2IsbUJBQW1CO3FCQUNwQjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUVuQixrQkFBa0I7d0JBQ2xCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLDJCQUEyQjt3QkFFM0Isb0JBQW9CO3dCQUVwQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxZQUFZO3dCQUVaLGVBQWU7d0JBRWYsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEh0dHBDbGllbnRKc29ucE1vZHVsZSwgSHR0cENsaWVudE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEdvb2dsZU1hcHNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcbmltcG9ydCB7IEN1c3RvbWVyTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci1saXN0L2N1c3RvbWVyLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IEN1c3RvbWVyVGlsZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci10aWxlL2N1c3RvbWVyLXRpbGUuY29tcG9uZW50JztcbmltcG9ydCB7IEt3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudCc7XG5cbmltcG9ydCB7XG4gIEt3aWtVSUJ1dHRvbkljb25Nb2R1bGUsXG4gIEt3aWtVSUJ1dHRvbk1vZHVsZSxcbiAgS3dpa1VJSW5wdXREYXRlTW9kdWxlLFxuICBLd2lrVUlJbnB1dE1vZHVsZSxcbiAgS3dpa1VJSW5wdXREYXRlUmFuZ2VNb2R1bGUsXG4gIEt3aWtVSVNlbGVjdENvbWJvYm94TW9kdWxlLFxuICBLd2lrVUlUYWJsZU1vZHVsZSxcbiAgS3dpa1VJVGFibGVQYWdpbmF0aW9uTW9kdWxlXG59IGZyb20gJ2t3aWt1aSc7XG5cbmltcG9ydCB7IFR1aVNpZGViYXJNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tbW9iaWxlJztcbmltcG9ydCB7IFR1aUFjdGl2ZVpvbmVNb2R1bGUgfSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gIFR1aURpYWxvZ01vZHVsZSxcbiAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gIFR1aUdyb3VwTW9kdWxlLFxuICBUdWlSb290TW9kdWxlLFxuICBUdWlTdmdNb2R1bGVcbn0gZnJvbSAnQHRhaWdhLXVpL2NvcmUnO1xuXG5pbXBvcnQgeyBLd2lrSURGb3JtVmlld01vZHVsZSB9IGZyb20gJ2t3aWtpZC1mb3Jtcyc7XG5pbXBvcnQgeyBOZzJTZWFyY2hQaXBlIH0gZnJvbSAnLi9waXBlcy9zZWFyY2gtZmlsdGVyLnBpcGUnO1xuaW1wb3J0IHsgU3RhdHVzUGlsbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jdXN0b21lci10aWxlL3N0YXR1cy1waWxsL3N0YXR1cy1waWxsLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIEt3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50LFxuICAgIEN1c3RvbWVyTGlzdENvbXBvbmVudCxcbiAgICBDdXN0b21lclRpbGVDb21wb25lbnQsXG4gICAgTmcyU2VhcmNoUGlwZSxcbiAgICBTdGF0dXNQaWxsQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuXG4gICAgS3dpa1VJQnV0dG9uTW9kdWxlLFxuICAgIEt3aWtVSUJ1dHRvbkljb25Nb2R1bGUsXG4gICAgS3dpa1VJSW5wdXRNb2R1bGUsXG4gICAgS3dpa1VJSW5wdXREYXRlTW9kdWxlLFxuICAgIEt3aWtVSUlucHV0RGF0ZVJhbmdlTW9kdWxlLFxuICAgIEt3aWtVSVNlbGVjdENvbWJvYm94TW9kdWxlLFxuICAgIEt3aWtVSVRhYmxlTW9kdWxlLFxuICAgIEt3aWtVSVRhYmxlUGFnaW5hdGlvbk1vZHVsZSxcblxuICAgIEt3aWtJREZvcm1WaWV3TW9kdWxlLFxuXG4gICAgVHVpUm9vdE1vZHVsZSxcbiAgICBUdWlEaWFsb2dNb2R1bGUsXG4gICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgVHVpU2lkZWJhck1vZHVsZSxcbiAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgIFR1aVN2Z01vZHVsZSxcblxuICAgIFNjcm9sbGluZ01vZHVsZSxcblxuICAgIEdvb2dsZU1hcHNNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBIdHRwQ2xpZW50SnNvbnBNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0t3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBLd2lrSURBZ2VudERhc2hib2FyZE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Pipe, Injectable } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class Ng2SearchPipe {
|
|
4
|
+
/**
|
|
5
|
+
* @param items object from array
|
|
6
|
+
* @param term term's search
|
|
7
|
+
* @param excludes array of strings which will ignored during search
|
|
8
|
+
*/
|
|
9
|
+
transform(items, term, excludes = []) {
|
|
10
|
+
if (!term || !items)
|
|
11
|
+
return items;
|
|
12
|
+
return Ng2SearchPipe.filter(items, term, excludes);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
* @param items List of items to filter
|
|
17
|
+
* @param term a string term to compare with every property of the list
|
|
18
|
+
* @param excludes List of keys which will be ignored during search
|
|
19
|
+
*
|
|
20
|
+
*/
|
|
21
|
+
static filter(items, term, excludes) {
|
|
22
|
+
const toCompare = term.toLowerCase();
|
|
23
|
+
function checkInside(item, term) {
|
|
24
|
+
if (typeof item === 'string' &&
|
|
25
|
+
item.toString().toLowerCase().includes(toCompare)) {
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
for (let property in item) {
|
|
29
|
+
if (item[property] === null ||
|
|
30
|
+
item[property] == undefined ||
|
|
31
|
+
excludes.includes(property)) {
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
if (typeof item[property] === 'object') {
|
|
35
|
+
if (checkInside(item[property], term)) {
|
|
36
|
+
return true;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if (item[property].toString().toLowerCase().includes(toCompare)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
return items.filter(function (item) {
|
|
46
|
+
return checkInside(item, term);
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
/** @nocollapse */ Ng2SearchPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
51
|
+
/** @nocollapse */ Ng2SearchPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, name: "filter", pure: false });
|
|
52
|
+
/** @nocollapse */ Ng2SearchPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, decorators: [{
|
|
54
|
+
type: Pipe,
|
|
55
|
+
args: [{
|
|
56
|
+
name: 'filter',
|
|
57
|
+
pure: false
|
|
58
|
+
}]
|
|
59
|
+
}, {
|
|
60
|
+
type: Injectable
|
|
61
|
+
}] });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3BpcGVzL3NlYXJjaC1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsS0FBVSxFQUFFLElBQVksRUFBRSxXQUFnQixFQUFFO1FBQ3BELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQ1gsS0FBb0MsRUFDcEMsSUFBWSxFQUNaLFFBQWE7UUFFYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFckMsU0FBUyxXQUFXLENBQUMsSUFBUyxFQUFFLElBQVk7WUFDMUMsSUFDRSxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUNqRDtnQkFDQSxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsS0FBSyxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQ3pCLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUk7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTO29CQUMzQixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUMzQjtvQkFDQSxTQUFTO2lCQUNWO2dCQUNELElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUN0QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ3JDLE9BQU8sSUFBSSxDQUFDO3FCQUNiO2lCQUNGO3FCQUFNLElBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDM0Q7b0JBQ0EsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUk7WUFDaEMsT0FBTyxXQUFXLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7OEhBMURVLGFBQWE7NEhBQWIsYUFBYTtrSUFBYixhQUFhOzRGQUFiLGFBQWE7a0JBTHpCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFFBQVE7b0JBQ2QsSUFBSSxFQUFFLEtBQUs7aUJBQ1o7O2tCQUNBLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2ZpbHRlcicsXG4gIHB1cmU6IGZhbHNlXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5nMlNlYXJjaFBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgLyoqXG4gICAqIEBwYXJhbSBpdGVtcyBvYmplY3QgZnJvbSBhcnJheVxuICAgKiBAcGFyYW0gdGVybSB0ZXJtJ3Mgc2VhcmNoXG4gICAqIEBwYXJhbSBleGNsdWRlcyBhcnJheSBvZiBzdHJpbmdzIHdoaWNoIHdpbGwgaWdub3JlZCBkdXJpbmcgc2VhcmNoXG4gICAqL1xuICB0cmFuc2Zvcm0oaXRlbXM6IGFueSwgdGVybTogc3RyaW5nLCBleGNsdWRlczogYW55ID0gW10pOiBhbnkge1xuICAgIGlmICghdGVybSB8fCAhaXRlbXMpIHJldHVybiBpdGVtcztcblxuICAgIHJldHVybiBOZzJTZWFyY2hQaXBlLmZpbHRlcihpdGVtcywgdGVybSwgZXhjbHVkZXMpO1xuICB9XG5cbiAgLyoqXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtcyBMaXN0IG9mIGl0ZW1zIHRvIGZpbHRlclxuICAgKiBAcGFyYW0gdGVybSAgYSBzdHJpbmcgdGVybSB0byBjb21wYXJlIHdpdGggZXZlcnkgcHJvcGVydHkgb2YgdGhlIGxpc3RcbiAgICogQHBhcmFtIGV4Y2x1ZGVzIExpc3Qgb2Yga2V5cyB3aGljaCB3aWxsIGJlIGlnbm9yZWQgZHVyaW5nIHNlYXJjaFxuICAgKlxuICAgKi9cbiAgc3RhdGljIGZpbHRlcihcbiAgICBpdGVtczogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4sXG4gICAgdGVybTogc3RyaW5nLFxuICAgIGV4Y2x1ZGVzOiBhbnlcbiAgKTogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4ge1xuICAgIGNvbnN0IHRvQ29tcGFyZSA9IHRlcm0udG9Mb3dlckNhc2UoKTtcblxuICAgIGZ1bmN0aW9uIGNoZWNrSW5zaWRlKGl0ZW06IGFueSwgdGVybTogc3RyaW5nKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBpdGVtID09PSAnc3RyaW5nJyAmJlxuICAgICAgICBpdGVtLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0b0NvbXBhcmUpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG5cbiAgICAgIGZvciAobGV0IHByb3BlcnR5IGluIGl0ZW0pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGl0ZW1bcHJvcGVydHldID09PSBudWxsIHx8XG4gICAgICAgICAgaXRlbVtwcm9wZXJ0eV0gPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgZXhjbHVkZXMuaW5jbHVkZXMocHJvcGVydHkpXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbVtwcm9wZXJ0eV0gPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgaWYgKGNoZWNrSW5zaWRlKGl0ZW1bcHJvcGVydHldLCB0ZXJtKSkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIGl0ZW1bcHJvcGVydHldLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh0b0NvbXBhcmUpXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIGl0ZW1zLmZpbHRlcihmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgcmV0dXJuIGNoZWNrSW5zaWRlKGl0ZW0sIHRlcm0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -67,7 +67,7 @@ export class InfoWindowService {
|
|
|
67
67
|
* @method showInfo
|
|
68
68
|
*/
|
|
69
69
|
showCustomerInformation(customer, marker) {
|
|
70
|
-
let map = this.mapService.
|
|
70
|
+
let map = this.mapService.map;
|
|
71
71
|
let contentString = this.createInfoContent(customer);
|
|
72
72
|
let infowindow = new google.maps.InfoWindow({
|
|
73
73
|
content: contentString
|
|
@@ -76,10 +76,12 @@ export class InfoWindowService {
|
|
|
76
76
|
this.closeLastOpenedInfoWindow();
|
|
77
77
|
infowindow.open(map, marker);
|
|
78
78
|
this.lastInfoWindowOpened = infowindow;
|
|
79
|
-
map.
|
|
79
|
+
this.mapService.map = Object.assign(Object.assign({}, this.mapService.map), { center: marker.getPosition });
|
|
80
|
+
// map.setCenter(marker.getPosition());
|
|
80
81
|
return { infowindow: infowindow };
|
|
81
82
|
}
|
|
82
83
|
addEventListeners(customer, infowindow) {
|
|
84
|
+
// chnage -
|
|
83
85
|
let addressLink = `http://maps.google.com/?q=${customer.extras.loc[0]}, ${customer.extras.loc[1]}`;
|
|
84
86
|
google.maps.event.addListener(infowindow, 'domready', function () {
|
|
85
87
|
document.getElementById('Call').addEventListener('click', function (e) {
|
|
@@ -180,4 +182,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImpo
|
|
|
180
182
|
providedIn: 'root'
|
|
181
183
|
}]
|
|
182
184
|
}], ctorParameters: function () { return [{ type: i1.MapService }]; } });
|
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby13aW5kb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQvc3JjL2xpYi9zZXJ2aWNlcy9pbmZvLXdpbmRvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBc0Q1QixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbER6QyxXQUFNLEdBQUc7WUFDUCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxNQUFNO29CQUNiLEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixLQUFLLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLE1BQU07d0JBQ2hCLFVBQVUsRUFBRSxHQUFHO3FCQUNoQjtpQkFDRjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLE1BQU07b0JBQ2IsS0FBSyxFQUFFLE9BQU87b0JBQ2QsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsUUFBUTt3QkFDbEIsT0FBTyxFQUFFLFVBQVU7d0JBQ25CLFNBQVMsRUFBRSxTQUFTO3FCQUNyQjtvQkFDRCxJQUFJLEVBQUUscURBQXFEO2lCQUM1RDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLFlBQVk7b0JBQ25CLEtBQUssRUFBRSxTQUFTO29CQUNoQixPQUFPLEVBQUUsT0FBTztvQkFDaEIsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixPQUFPLEVBQUUsVUFBVTtxQkFDcEI7b0JBQ0QsSUFBSSxFQUFFLHFEQUFxRDtpQkFDNUQ7YUFDRjtTQUNGLENBQUM7UUFFRix3QkFBbUIsR0FBRztZQUNwQixPQUFPLEVB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LEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV4RSxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUU7Z0JBQ2QsSUFBSSxLQUFLLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUMsS0FBSyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDO2dCQUN2QixLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDekMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUM7Z0JBQzFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDOUI7WUFFRCxJQUFJLFVBQVUsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQy9DLFVBQVUsQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDO1lBQzlCLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFbEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUM3QjtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDOztrSUF0TVUsaUJBQWlCO3NJQUFqQixpQkFBaUIsY0FGaEIsTUFBTTs0RkFFUCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwU2VydmljZSB9IGZyb20gJy4vbWFwLnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IGdvb2dsZTogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBJbmZvV2luZG93U2VydmljZSB7XG4gIG9wZW5NYXJrZXI7XG4gIGxhc3RJbmZvV2luZG93T3BlbmVkO1xuXG4gIGNvbmZpZyA9IHtcbiAgICBmaWVsZHM6IHtcbiAgICAgIG5hbWU6IHtcbiAgICAgICAgbGFiZWw6ICdOYW1lJyxcbiAgICAgICAgdmFsdWU6ICduYW1lJyxcbiAgICAgICAgZGlzcGxheTogJ3ZhbHVlJyxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBmb250U2l6ZTogJzFyZW0nLFxuICAgICAgICAgIGZvbnRXZWlnaHQ6IDYwMFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgcGhvbmU6IHtcbiAgICAgICAgbGFiZWw6ICdDYWxsJyxcbiAgICAgICAgdmFsdWU6ICdwaG9uZScsXG4gICAgICAgIGRpc3BsYXk6ICdsYWJlbCcsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgZm9udFNpemU6ICcwLjhyZW0nLFxuICAgICAgICAgIHBhZGRpbmc6ICcwLjFyZW0gMCcsXG4gICAgICAgICAgdGV4dEFsaWduOiAnanVzdGlmeSdcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbjogJ2h0dHBzOi8vY2RuLWljb25zLXBuZy5mbGF0aWNvbi5jb20vNTEyLzYwLzYwNzIwLnBuZydcbiAgICAgIH0sXG4gICAgICBhZGRyZXNzOiB7XG4gICAgICAgIGxhYmVsOiAnRGlyZWN0aW9ucycsXG4gICAgICAgIHZhbHVlOiAnYWRkcmVzcycsXG4gICAgICAgIGRpc3BsYXk6ICdsYWJlbCcsXG4gICAgICAgIHN0eWxlOiB7XG4gICAgICAgICAgZm9udFNpemU6ICcwLjhyZW0nLFxuICAgICAgICAgIHBhZGRpbmc6ICcwLjFyZW0gMCdcbiAgICAgICAgfSxcbiAgICAgICAgaWNvbjogJ2h0dHBzOi8vY2RuLWljb25zLXBuZy5mbGF0aWNvbi5jb20vNTEyLzYyLzYyNTE2LnBuZydcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgbWFpbkluZm9XaW5kb3dTdHlsZSA9IHtcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgJ2ZsZXgtZGlyZWN0aW9uJzogJ2NvbHVtbicsXG4gICAgJ2p1c3RpZnktY29udGVudCc6ICdjZW50ZXInLFxuICAgICdhbGlnbi1pdGVtcyc6ICdzdHJldGNoJyxcbiAgICBnYXA6ICcwLjVyZW0nLFxuICAgIHBhZGRpbmc6ICcwLjVyZW0nXG4gIH07XG5cbiAgZmllbGREaXZTdHlsZSA9IHtcbiAgICBnYXA6ICcgMC41cmVtJyxcbiAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgJ2ZsZXgtZGlyZWN0aW9uJzogJ3JvdydcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFwU2VydmljZTogTWFwU2VydmljZSkge31cblxuICBnZXRPcGVuTWFya2VyKCkge1xuICAgIHJldHVybiB0aGlzLm9wZW5NYXJrZXI7XG4gIH1cblxuICBzZXRPcGVuTWFya2VyKHZhbHVlKSB7XG4gICAgdGhpcy5vcGVuTWFya2VyID0gdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFdyYXBwZXIgbWV0aG9kIHRvIHNob3cgQ3VzdG9tZXIgSW5mbyBXaW5kb3dcbiAgICpcbiAgICogQGZ1bmN0aW9uIHNob3dJbmZvXG4gICAqIEBmdW5jIHNob3dJbmZvXG4gICAqIEBtZXRob2Qgc2hvd0luZm9cbiAgICovXG4gIHNob3dDdXN0b21lckluZm9ybWF0aW9uKGN1c3RvbWVyLCBtYXJrZXIpIHtcbiAgICBsZXQgbWFwID0gdGhpcy5tYXBTZXJ2aWNlLmdldE1hcCgpO1xuICAgIGxldCBjb250ZW50U3RyaW5nID0gdGhpcy5jcmVhdGVJbmZvQ29udGVudChjdXN0b21lcik7XG5cbiAgICBsZXQgaW5mb3dpbmRvdyA9IG5ldyBnb29nbGUubWFwcy5JbmZvV2luZG93KHtcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnRTdHJpbmdcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoY3VzdG9tZXIsIGluZm93aW5kb3cpO1xuXG4gICAgdGhpcy5jbG9zZUxhc3RPcGVuZWRJbmZvV2luZG93KCk7XG4gICAgaW5mb3dpbmRvdy5vcGVuKG1hcCwgbWFya2VyKTtcbiAgICB0aGlzLmxhc3RJbmZvV2luZG93T3BlbmVkID0gaW5mb3dpbmRvdztcbiAgICBtYXAuc2V0Q2VudGVyKG1hcmtlci5nZXRQb3NpdGlvbigpKTtcblxuICAgIHJldHVybiB7IGluZm93aW5kb3c6IGluZm93aW5kb3cgfTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXJzKGN1c3RvbWVyLCBpbmZvd2luZG93KSB7XG4gICAgbGV0IGFkZHJlc3NMaW5rID0gYGh0dHA6Ly9tYXBzLmdvb2dsZS5jb20vP3E9JHtjdXN0b21lci5leHRyYXMubG9jWzBdfSwgJHtjdXN0b21lci5leHRyYXMubG9jWzFdfWA7XG5cbiAgICBnb29nbGUubWFwcy5ldmVudC5hZGRMaXN0ZW5lcihpbmZvd2luZG93LCAnZG9tcmVhZHknLCBmdW5jdGlvbiAoKSB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnQ2FsbCcpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgd2luZG93Lm9wZW4oYHRlbDoke2N1c3RvbWVyLmV4dHJhcy5waG9uZX1gLCAnX3NlbGYnKTtcbiAgICAgIH0pO1xuICAgICAgZG9jdW1lbnRcbiAgICAgICAgLmdldEVsZW1lbnRCeUlkKCdEaXJlY3Rpb25zJylcbiAgICAgICAgLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgICB3aW5kb3cub3BlbihgJHthZGRyZXNzTGlua31gLCAnX2JsYW5rJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICBkb2N1bWVudFxuICAgICAgICAuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnZ20tdWktaG92ZXItZWZmZWN0JylbMF1cbiAgICAgICAgLnNldEF0dHJpYnV0ZShcbiAgICAgICAgICAnc3R5bGUnLFxuICAgICAgICAgICcgICBiYWNrZ3JvdW5kOiBub25lO1xcXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jazsgXFxcbiAgICAgICAgICAgIGJvcmRlcjogMHB4OyBcXFxuICAgICAgICAgICAgbWFyZ2luOiAwcHg7IFxcXG4gICAgICAgICAgICBwYWRkaW5nOiAwcHg7IFxcXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgXFxcbiAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7IFxcXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IFxcXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IFxcXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTsgXFxcbiAgICAgICAgICAgIHRvcDogMHB4OyBcXFxuICAgICAgICAgICAgcmlnaHQ6IDBweDsgXFxcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4OyBcXFxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4OyBcXFxuICAgICAgICAgICAgJ1xuICAgICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXcmFwcGVyIG1ldGhvZCB0byBjbG9zZSBMYXN0IEluZm8gV2luZG93XG4gICAqXG4gICAqIEBmdW5jdGlvbiBjbG9zZUxhc3RPcGVuZWRJbmZvV2luZG93XG4gICAqIEBmdW5jIGNsb3NlTGFzdE9wZW5lZEluZm9XaW5kb3dcbiAgICogQG1ldGhvZCBjbG9zZUxhc3RPcGVuZWRJbmZvV2luZG93XG4gICAqL1xuICBjbG9zZUxhc3RPcGVuZWRJbmZvV2luZG93KCkge1xuICAgIGlmICh0aGlzLmxhc3RJbmZvV2luZG93T3BlbmVkKSB7XG4gICAgICB0aGlzLmxhc3RJbmZvV2luZG93T3BlbmVkLmNsb3NlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBDbG9zZXMgdGhlIHByZXZpb3VzbHkgb3BlbmVkIGluZm8gd2luZG93LlxuICAgKlxuICAgKiBAZnVuY3Rpb24gaW5mb0RhdGFcbiAgICogQGZ1bmMgaW5mb0RhdGFcbiAgICogQG1ldGhvZCBpbmZvRGF0YVxuICAgKi9cbiAgY3JlYXRlSW5mb0NvbnRlbnQoY3VzdG9tZXIpIHtcbiAgICBsZXQgY29udGVudCA9IFwiPGRpdiBzdHlsZT0ncGFkZGluZzo0cHg7IGZvbnQtZmFtaWx5OiBNYW5yb3BlOycgPlwiO1xuXG4gICAgY29udGVudCArPSB0aGlzLmNyZWF0ZUZpZWxkcyhjdXN0b21lciwgdGhpcy5jb25maWcuZmllbGRzKTtcbiAgICBjb250ZW50ICs9ICc8L2Rpdj4nO1xuXG4gICAgcmV0dXJuIGNvbnRlbnQ7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uXG4gICAqIFdyYXBwZXIgbWV0aG9kIHRvIGNyZWF0ZSBGaWVsZHMgQ29udGFpbmVyXG4gICAqXG4gICAqIEBmdW5jdGlvbiBjcmVhdGVGaWVsZHNcbiAgICogQGZ1bmMgY3JlYXRlRmllbGRzXG4gICAqIEBtZXRob2QgY3JlYXRlRmllbGRzXG4gICAqL1xuICBjcmVhdGVGaWVsZHMoY3VzdG9tZXIsIGZpZWxkcykge1xuICAgIGxldCBfZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiB0aGlzLm1haW5JbmZvV2luZG93U3R5bGUpXG4gICAgICBfZGl2LnN0eWxlW3Byb3BlcnR5XSA9IHRoaXMubWFpbkluZm9XaW5kb3dTdHlsZVtwcm9wZXJ0eV07XG5cbiAgICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXMoZmllbGRzKSkge1xuICAgICAgbGV0IGZpZWxkID0gZmllbGRzW2tleV07XG5cbiAgICAgIGxldCBfZmllbGREaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIF9maWVsZERpdi5zZXRBdHRyaWJ1dGUoJ2lkJywgZmllbGQubGFiZWwpO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiB0aGlzLmZpZWxkRGl2U3R5bGUpXG4gICAgICAgIF9maWVsZERpdi5zdHlsZVtwcm9wZXJ0eV0gPSB0aGlzLmZpZWxkRGl2U3R5bGVbcHJvcGVydHldO1xuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBpbiBmaWVsZC5zdHlsZSlcbiAgICAgICAgX2ZpZWxkRGl2LnN0eWxlW3Byb3BlcnR5XSA9IGZpZWxkLnN0eWxlW3Byb3BlcnR5XTtcblxuICAgICAgbGV0IHN0cmluZyA9XG4gICAgICAgIGZpZWxkLmRpc3BsYXkgPT0gJ2xhYmVsJyA/IGZpZWxkLmxhYmVsIDogY3VzdG9tZXIuZXh0cmFzW2ZpZWxkLnZhbHVlXTtcblxuICAgICAgaWYgKGZpZWxkLmljb24pIHtcbiAgICAgICAgbGV0IF9pY29uID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW1nJyk7XG4gICAgICAgIF9pY29uLnNyYyA9IGZpZWxkLmljb247XG4gICAgICAgIF9pY29uLnN0eWxlLndpZHRoID0gZmllbGQuc3R5bGUuZm9udFNpemU7XG4gICAgICAgIF9pY29uLnN0eWxlLmhlaWdodCA9IGZpZWxkLnN0eWxlLmZvbnRTaXplO1xuICAgICAgICBfZmllbGREaXYuYXBwZW5kQ2hpbGQoX2ljb24pO1xuICAgICAgfVxuXG4gICAgICBsZXQgX2ZpZWxkVGV4dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgX2ZpZWxkVGV4dC5pbm5lckhUTUwgPSBzdHJpbmc7XG4gICAgICBfZmllbGREaXYuYXBwZW5kQ2hpbGQoX2ZpZWxkVGV4dCk7XG5cbiAgICAgIF9kaXYuYXBwZW5kQ2hpbGQoX2ZpZWxkRGl2KTtcbiAgICB9XG4gICAgcmV0dXJuIF9kaXYub3V0ZXJIVE1MO1xuICB9XG59XG4iXX0=
|
|
185
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby13aW5kb3cuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQvc3JjL2xpYi9zZXJ2aWNlcy9pbmZvLXdpbmRvdy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzQyxNQUFNLE9BQU8saUJBQWlCO0lBc0Q1QixZQUFtQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBbER6QyxXQUFNLEdBQUc7WUFDUCxNQUFNLEVBQUU7Z0JBQ04sSUFBSSxFQUFFO29CQUNKLEtBQUssRUFBRSxNQUFNO29CQUNiLEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxPQUFPO29CQUNoQixLQUFLLEVBQUU7d0JBQ0wsUUFBUSxFQUFFLE1BQU07d0JBQ2hCLFVBQVUsRUFBRSxHQUFHO3FCQUNoQjtpQkFDRjtnQkFDRCxLQUFLLEVBQUU7b0JBQ0wsS0FBSyxFQUFFLE1BQU07b0JBQ2IsS0FBSyxFQUFFLE9BQU87b0JBQ2QsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLEtBQUssRUFBRTt3QkFDTCxRQUFRLEVBQUUsUUFBUTt3QkFDbEIsT0FBTyxFQUFFLFVBQVU7d0JBQ25CLFNBQVMsRUFBRSxTQUFTO3FCQUNyQjtvQkFDRCxJQUFJLEVBQUUscURBQXFEO2lCQUM1RDtnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLFlBQVk7b0JBQ25CLEtBQUssRUFBRSxTQUFTO29CQUNoQixPQUFPLEVBQUUsT0FBTztvQkFDaEIsS0FBSyxFQUFFO3dCQUNMLFFBQVEsRUFBRSxRQUFRO3dCQUNsQixPQUFPLEVBQUUsVUFBVTtxQkFDcEI7b0JBQ0QsSUFBSSxFQUFFLHFEQUFxRDtpQkFDNUQ7YUFDRjtTQUNGLENBQUM7UUFFRix3QkFBbUIsR0FBRztZQUNwQixPQUFPLEVB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LENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRXhFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRTtnQkFDZCxJQUFJLEtBQUssR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUMxQyxLQUFLLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ3ZCLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDO2dCQUN6QyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztnQkFDMUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUM5QjtZQUVELElBQUksVUFBVSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDL0MsVUFBVSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUM7WUFDOUIsU0FBUyxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUVsQyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7O2tJQTVNVSxpQkFBaUI7c0lBQWpCLGlCQUFpQixjQUZoQixNQUFNOzRGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBTZXJ2aWNlIH0gZnJvbSAnLi9tYXAuc2VydmljZSc7XG5cbmRlY2xhcmUgY29uc3QgZ29vZ2xlOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEluZm9XaW5kb3dTZXJ2aWNlIHtcbiAgb3Blbk1hcmtlcjtcbiAgbGFzdEluZm9XaW5kb3dPcGVuZWQ7XG5cbiAgY29uZmlnID0ge1xuICAgIGZpZWxkczoge1xuICAgICAgbmFtZToge1xuICAgICAgICBsYWJlbDogJ05hbWUnLFxuICAgICAgICB2YWx1ZTogJ25hbWUnLFxuICAgICAgICBkaXNwbGF5OiAndmFsdWUnLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgIGZvbnRTaXplOiAnMXJlbScsXG4gICAgICAgICAgZm9udFdlaWdodDogNjAwXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBwaG9uZToge1xuICAgICAgICBsYWJlbDogJ0NhbGwnLFxuICAgICAgICB2YWx1ZTogJ3Bob25lJyxcbiAgICAgICAgZGlzcGxheTogJ2xhYmVsJyxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBmb250U2l6ZTogJzAuOHJlbScsXG4gICAgICAgICAgcGFkZGluZzogJzAuMXJlbSAwJyxcbiAgICAgICAgICB0ZXh0QWxpZ246ICdqdXN0aWZ5J1xuICAgICAgICB9LFxuICAgICAgICBpY29uOiAnaHR0cHM6Ly9jZG4taWNvbnMtcG5nLmZsYXRpY29uLmNvbS81MTIvNjAvNjA3MjAucG5nJ1xuICAgICAgfSxcbiAgICAgIGFkZHJlc3M6IHtcbiAgICAgICAgbGFiZWw6ICdEaXJlY3Rpb25zJyxcbiAgICAgICAgdmFsdWU6ICdhZGRyZXNzJyxcbiAgICAgICAgZGlzcGxheTogJ2xhYmVsJyxcbiAgICAgICAgc3R5bGU6IHtcbiAgICAgICAgICBmb250U2l6ZTogJzAuOHJlbScsXG4gICAgICAgICAgcGFkZGluZzogJzAuMXJlbSAwJ1xuICAgICAgICB9LFxuICAgICAgICBpY29uOiAnaHR0cHM6Ly9jZG4taWNvbnMtcG5nLmZsYXRpY29uLmNvbS81MTIvNjIvNjI1MTYucG5nJ1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICBtYWluSW5mb1dpbmRvd1N0eWxlID0ge1xuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAnZmxleC1kaXJlY3Rpb24nOiAnY29sdW1uJyxcbiAgICAnanVzdGlmeS1jb250ZW50JzogJ2NlbnRlcicsXG4gICAgJ2FsaWduLWl0ZW1zJzogJ3N0cmV0Y2gnLFxuICAgIGdhcDogJzAuNXJlbScsXG4gICAgcGFkZGluZzogJzAuNXJlbSdcbiAgfTtcblxuICBmaWVsZERpdlN0eWxlID0ge1xuICAgIGdhcDogJyAwLjVyZW0nLFxuICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAnZmxleC1kaXJlY3Rpb24nOiAncm93J1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBtYXBTZXJ2aWNlOiBNYXBTZXJ2aWNlKSB7fVxuXG4gIGdldE9wZW5NYXJrZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMub3Blbk1hcmtlcjtcbiAgfVxuXG4gIHNldE9wZW5NYXJrZXIodmFsdWUpIHtcbiAgICB0aGlzLm9wZW5NYXJrZXIgPSB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV3JhcHBlciBtZXRob2QgdG8gc2hvdyBDdXN0b21lciBJbmZvIFdpbmRvd1xuICAgKlxuICAgKiBAZnVuY3Rpb24gc2hvd0luZm9cbiAgICogQGZ1bmMgc2hvd0luZm9cbiAgICogQG1ldGhvZCBzaG93SW5mb1xuICAgKi9cbiAgc2hvd0N1c3RvbWVySW5mb3JtYXRpb24oY3VzdG9tZXIsIG1hcmtlcikge1xuICAgIGxldCBtYXAgPSB0aGlzLm1hcFNlcnZpY2UubWFwO1xuICAgIGxldCBjb250ZW50U3RyaW5nID0gdGhpcy5jcmVhdGVJbmZvQ29udGVudChjdXN0b21lcik7XG5cbiAgICBsZXQgaW5mb3dpbmRvdyA9IG5ldyBnb29nbGUubWFwcy5JbmZvV2luZG93KHtcbiAgICAgIGNvbnRlbnQ6IGNvbnRlbnRTdHJpbmdcbiAgICB9KTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoY3VzdG9tZXIsIGluZm93aW5kb3cpO1xuXG4gICAgdGhpcy5jbG9zZUxhc3RPcGVuZWRJbmZvV2luZG93KCk7XG4gICAgaW5mb3dpbmRvdy5vcGVuKG1hcCwgbWFya2VyKTtcbiAgICB0aGlzLmxhc3RJbmZvV2luZG93T3BlbmVkID0gaW5mb3dpbmRvdztcblxuICAgIHRoaXMubWFwU2VydmljZS5tYXAgPSB7XG4gICAgICAuLi50aGlzLm1hcFNlcnZpY2UubWFwLFxuICAgICAgY2VudGVyOiBtYXJrZXIuZ2V0UG9zaXRpb25cbiAgICB9O1xuICAgIC8vIG1hcC5zZXRDZW50ZXIobWFya2VyLmdldFBvc2l0aW9uKCkpO1xuXG4gICAgcmV0dXJuIHsgaW5mb3dpbmRvdzogaW5mb3dpbmRvdyB9O1xuICB9XG5cbiAgYWRkRXZlbnRMaXN0ZW5lcnMoY3VzdG9tZXIsIGluZm93aW5kb3cpIHtcbiAgICAvLyBjaG5hZ2UgLVxuICAgIGxldCBhZGRyZXNzTGluayA9IGBodHRwOi8vbWFwcy5nb29nbGUuY29tLz9xPSR7Y3VzdG9tZXIuZXh0cmFzLmxvY1swXX0sICR7Y3VzdG9tZXIuZXh0cmFzLmxvY1sxXX1gO1xuXG4gICAgZ29vZ2xlLm1hcHMuZXZlbnQuYWRkTGlzdGVuZXIoaW5mb3dpbmRvdywgJ2RvbXJlYWR5JywgZnVuY3Rpb24gKCkge1xuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ0NhbGwnKS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgIHdpbmRvdy5vcGVuKGB0ZWw6JHtjdXN0b21lci5leHRyYXMucGhvbmV9YCwgJ19zZWxmJyk7XG4gICAgICB9KTtcbiAgICAgIGRvY3VtZW50XG4gICAgICAgIC5nZXRFbGVtZW50QnlJZCgnRGlyZWN0aW9ucycpXG4gICAgICAgIC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgd2luZG93Lm9wZW4oYCR7YWRkcmVzc0xpbmt9YCwgJ19ibGFuaycpO1xuICAgICAgICB9KTtcblxuICAgICAgZG9jdW1lbnRcbiAgICAgICAgLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ2dtLXVpLWhvdmVyLWVmZmVjdCcpWzBdXG4gICAgICAgIC5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgJ3N0eWxlJyxcbiAgICAgICAgICAnICAgYmFja2dyb3VuZDogbm9uZTtcXFxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IFxcXG4gICAgICAgICAgICBib3JkZXI6IDBweDsgXFxcbiAgICAgICAgICAgIG1hcmdpbjogMHB4OyBcXFxuICAgICAgICAgICAgcGFkZGluZzogMHB4OyBcXFxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IFxcXG4gICAgICAgICAgICBhcHBlYXJhbmNlOiBub25lOyBcXFxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyBcXFxuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyBcXFxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7IFxcXG4gICAgICAgICAgICB0b3A6IDBweDsgXFxcbiAgICAgICAgICAgIHJpZ2h0OiAwcHg7IFxcXG4gICAgICAgICAgICB3aWR0aDogMzBweDsgXFxcbiAgICAgICAgICAgIGhlaWdodDogMzBweDsgXFxcbiAgICAgICAgICAgICdcbiAgICAgICAgKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogV3JhcHBlciBtZXRob2QgdG8gY2xvc2UgTGFzdCBJbmZvIFdpbmRvd1xuICAgKlxuICAgKiBAZnVuY3Rpb24gY2xvc2VMYXN0T3BlbmVkSW5mb1dpbmRvd1xuICAgKiBAZnVuYyBjbG9zZUxhc3RPcGVuZWRJbmZvV2luZG93XG4gICAqIEBtZXRob2QgY2xvc2VMYXN0T3BlbmVkSW5mb1dpbmRvd1xuICAgKi9cbiAgY2xvc2VMYXN0T3BlbmVkSW5mb1dpbmRvdygpIHtcbiAgICBpZiAodGhpcy5sYXN0SW5mb1dpbmRvd09wZW5lZCkge1xuICAgICAgdGhpcy5sYXN0SW5mb1dpbmRvd09wZW5lZC5jbG9zZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVzY3JpcHRpb25cbiAgICogQ2xvc2VzIHRoZSBwcmV2aW91c2x5IG9wZW5lZCBpbmZvIHdpbmRvdy5cbiAgICpcbiAgICogQGZ1bmN0aW9uIGluZm9EYXRhXG4gICAqIEBmdW5jIGluZm9EYXRhXG4gICAqIEBtZXRob2QgaW5mb0RhdGFcbiAgICovXG4gIGNyZWF0ZUluZm9Db250ZW50KGN1c3RvbWVyKSB7XG4gICAgbGV0IGNvbnRlbnQgPSBcIjxkaXYgc3R5bGU9J3BhZGRpbmc6NHB4OyBmb250LWZhbWlseTogTWFucm9wZTsnID5cIjtcblxuICAgIGNvbnRlbnQgKz0gdGhpcy5jcmVhdGVGaWVsZHMoY3VzdG9tZXIsIHRoaXMuY29uZmlnLmZpZWxkcyk7XG4gICAgY29udGVudCArPSAnPC9kaXY+JztcblxuICAgIHJldHVybiBjb250ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXNjcmlwdGlvblxuICAgKiBXcmFwcGVyIG1ldGhvZCB0byBjcmVhdGUgRmllbGRzIENvbnRhaW5lclxuICAgKlxuICAgKiBAZnVuY3Rpb24gY3JlYXRlRmllbGRzXG4gICAqIEBmdW5jIGNyZWF0ZUZpZWxkc1xuICAgKiBAbWV0aG9kIGNyZWF0ZUZpZWxkc1xuICAgKi9cbiAgY3JlYXRlRmllbGRzKGN1c3RvbWVyLCBmaWVsZHMpIHtcbiAgICBsZXQgX2RpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gdGhpcy5tYWluSW5mb1dpbmRvd1N0eWxlKVxuICAgICAgX2Rpdi5zdHlsZVtwcm9wZXJ0eV0gPSB0aGlzLm1haW5JbmZvV2luZG93U3R5bGVbcHJvcGVydHldO1xuXG4gICAgZm9yIChsZXQga2V5IG9mIE9iamVjdC5rZXlzKGZpZWxkcykpIHtcbiAgICAgIGxldCBmaWVsZCA9IGZpZWxkc1trZXldO1xuXG4gICAgICBsZXQgX2ZpZWxkRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICBfZmllbGREaXYuc2V0QXR0cmlidXRlKCdpZCcsIGZpZWxkLmxhYmVsKTtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gdGhpcy5maWVsZERpdlN0eWxlKVxuICAgICAgICBfZmllbGREaXYuc3R5bGVbcHJvcGVydHldID0gdGhpcy5maWVsZERpdlN0eWxlW3Byb3BlcnR5XTtcbiAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgaW4gZmllbGQuc3R5bGUpXG4gICAgICAgIF9maWVsZERpdi5zdHlsZVtwcm9wZXJ0eV0gPSBmaWVsZC5zdHlsZVtwcm9wZXJ0eV07XG5cbiAgICAgIGxldCBzdHJpbmcgPVxuICAgICAgICBmaWVsZC5kaXNwbGF5ID09ICdsYWJlbCcgPyBmaWVsZC5sYWJlbCA6IGN1c3RvbWVyLmV4dHJhc1tmaWVsZC52YWx1ZV07XG5cbiAgICAgIGlmIChmaWVsZC5pY29uKSB7XG4gICAgICAgIGxldCBfaWNvbiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2ltZycpO1xuICAgICAgICBfaWNvbi5zcmMgPSBmaWVsZC5pY29uO1xuICAgICAgICBfaWNvbi5zdHlsZS53aWR0aCA9IGZpZWxkLnN0eWxlLmZvbnRTaXplO1xuICAgICAgICBfaWNvbi5zdHlsZS5oZWlnaHQgPSBmaWVsZC5zdHlsZS5mb250U2l6ZTtcbiAgICAgICAgX2ZpZWxkRGl2LmFwcGVuZENoaWxkKF9pY29uKTtcbiAgICAgIH1cblxuICAgICAgbGV0IF9maWVsZFRleHQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgIF9maWVsZFRleHQuaW5uZXJIVE1MID0gc3RyaW5nO1xuICAgICAgX2ZpZWxkRGl2LmFwcGVuZENoaWxkKF9maWVsZFRleHQpO1xuXG4gICAgICBfZGl2LmFwcGVuZENoaWxkKF9maWVsZERpdik7XG4gICAgfVxuICAgIHJldHVybiBfZGl2Lm91dGVySFRNTDtcbiAgfVxufVxuIl19
|
|
@@ -1,102 +1,63 @@
|
|
|
1
1
|
import { __awaiter } from "tslib";
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
2
|
+
import { Injectable, ViewChildren } from '@angular/core';
|
|
3
|
+
import { map } from 'rxjs/operators';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
+
import * as i1 from "@angular/google-maps";
|
|
5
6
|
export class MapService {
|
|
6
|
-
constructor(
|
|
7
|
-
this.
|
|
8
|
-
this.
|
|
9
|
-
|
|
10
|
-
getMyPosition() {
|
|
11
|
-
return this.myPosition;
|
|
12
|
-
}
|
|
13
|
-
getMap() {
|
|
14
|
-
return this.map;
|
|
15
|
-
}
|
|
16
|
-
setMap(map) {
|
|
17
|
-
this.map = map;
|
|
7
|
+
constructor(mapDirectionsService) {
|
|
8
|
+
this.mapDirectionsService = mapDirectionsService;
|
|
9
|
+
this.markers = [];
|
|
10
|
+
this.directionsRenderOption = {};
|
|
18
11
|
}
|
|
19
12
|
getMarkers() {
|
|
20
|
-
return this.
|
|
13
|
+
return this.markers;
|
|
21
14
|
}
|
|
22
15
|
setMarkers(markers) {
|
|
23
|
-
this.
|
|
16
|
+
this.markers = markers;
|
|
24
17
|
}
|
|
25
|
-
initMap(
|
|
18
|
+
initMap() {
|
|
26
19
|
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
-
this.myPosition = yield this.getPosition()
|
|
28
|
-
|
|
29
|
-
lat: pos.lat,
|
|
30
|
-
lng: pos.lng
|
|
31
|
-
};
|
|
32
|
-
});
|
|
33
|
-
this.map = new google.maps.Map(mapElement.nativeElement, {
|
|
20
|
+
this.myPosition = yield this.getPosition();
|
|
21
|
+
this.map = {
|
|
34
22
|
zoom: 10,
|
|
35
23
|
center: this.myPosition,
|
|
36
24
|
streetViewControl: false,
|
|
37
25
|
mapTypeControl: false,
|
|
38
26
|
fullscreenControl: false,
|
|
39
|
-
zoomControl: false
|
|
40
|
-
}
|
|
27
|
+
zoomControl: false
|
|
28
|
+
};
|
|
41
29
|
});
|
|
42
30
|
}
|
|
43
31
|
plotMarkers(customers) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
let origin = marker.getPosition();
|
|
52
|
-
customers.map((customer) => {
|
|
53
|
-
path.push({
|
|
54
|
-
location: this.getLatLng(customer.extras.loc),
|
|
55
|
-
stopover: true
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
customers = yield this.calcRoute(customers, origin, path);
|
|
59
|
-
customers.map((customer, index) => {
|
|
60
|
-
const marker = new google.maps.Marker({
|
|
61
|
-
position: this.getLatLng(customer.extras.loc),
|
|
62
|
-
map: this.map,
|
|
63
|
-
animation: google.maps.Animation.DROP,
|
|
64
|
-
label: {
|
|
65
|
-
text: String(index + 1),
|
|
66
|
-
color: '#FFF'
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
this.allCustomersMarkers.push(marker);
|
|
32
|
+
this.markers = [];
|
|
33
|
+
let path = [];
|
|
34
|
+
this.markers.push(this.myPosition);
|
|
35
|
+
customers.map((customer) => {
|
|
36
|
+
path.push({
|
|
37
|
+
location: this.getLatLng(customer.task_details.customer_details.location),
|
|
38
|
+
stopover: true
|
|
70
39
|
});
|
|
71
|
-
return customers;
|
|
72
40
|
});
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
let customersData = customers;
|
|
91
|
-
yield directionsService.route(request, function (result, status) {
|
|
92
|
-
if (status == 'OK') {
|
|
93
|
-
directionsRenderer.setDirections(result);
|
|
94
|
-
customersData = sortList(result.routes[0].waypoint_order, customersData);
|
|
95
|
-
}
|
|
41
|
+
const request = {
|
|
42
|
+
origin: this.myPosition,
|
|
43
|
+
destination: this.myPosition,
|
|
44
|
+
waypoints: path,
|
|
45
|
+
optimizeWaypoints: true,
|
|
46
|
+
travelMode: google.maps.TravelMode.DRIVING
|
|
47
|
+
};
|
|
48
|
+
this.directionsRenderOption = {
|
|
49
|
+
suppressMarkers: true
|
|
50
|
+
};
|
|
51
|
+
this.directionsResults$ = this.mapDirectionsService
|
|
52
|
+
.route(request)
|
|
53
|
+
.pipe(map((response) => response.result));
|
|
54
|
+
this.directionsResults$.subscribe((val) => {
|
|
55
|
+
customers = this.sortList(val.routes[0].waypoint_order, customers);
|
|
56
|
+
customers.map((customer) => {
|
|
57
|
+
this.markers.push(this.getLatLng(customer.task_details.customer_details.location));
|
|
96
58
|
});
|
|
97
|
-
this.allCustomersDirections = directionsRenderer;
|
|
98
|
-
return customersData;
|
|
99
59
|
});
|
|
60
|
+
return this.directionsResults$;
|
|
100
61
|
}
|
|
101
62
|
getPosition() {
|
|
102
63
|
return new Promise((resolve, reject) => {
|
|
@@ -111,7 +72,11 @@ export class MapService {
|
|
|
111
72
|
});
|
|
112
73
|
}
|
|
113
74
|
getLatLng(data) {
|
|
114
|
-
|
|
75
|
+
let url = data.split('@');
|
|
76
|
+
let lat_long_match = url[1].split(',');
|
|
77
|
+
let lat = Number(lat_long_match[0]);
|
|
78
|
+
let long = Number(lat_long_match[1]);
|
|
79
|
+
return { lat: lat, lng: long };
|
|
115
80
|
}
|
|
116
81
|
sortList(order, customersData) {
|
|
117
82
|
let c = [];
|
|
@@ -121,55 +86,16 @@ export class MapService {
|
|
|
121
86
|
}
|
|
122
87
|
return c;
|
|
123
88
|
}
|
|
124
|
-
plotHistoryCustomer(customer) {
|
|
125
|
-
if (this.historyCustomerMarker)
|
|
126
|
-
this.setMarkersMap(null, null);
|
|
127
|
-
this.agentService.toggleMenu();
|
|
128
|
-
const marker = new google.maps.Marker({
|
|
129
|
-
position: this.getLatLng(customer.loc),
|
|
130
|
-
map: this.map,
|
|
131
|
-
animation: google.maps.Animation.DROP,
|
|
132
|
-
label: {
|
|
133
|
-
text: 'C',
|
|
134
|
-
color: '#FFF'
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
this.historyCustomerMarker = marker;
|
|
138
|
-
let directionsService = new google.maps.DirectionsService();
|
|
139
|
-
let directionsRenderer = new google.maps.DirectionsRenderer({
|
|
140
|
-
suppressMarkers: true
|
|
141
|
-
});
|
|
142
|
-
directionsRenderer.setMap(this.map);
|
|
143
|
-
let request = {
|
|
144
|
-
origin: this.myPosition,
|
|
145
|
-
destination: marker.getPosition(),
|
|
146
|
-
optimizeWaypoints: true,
|
|
147
|
-
travelMode: 'DRIVING'
|
|
148
|
-
};
|
|
149
|
-
directionsService.route(request, function (result, status) {
|
|
150
|
-
if (status == 'OK') {
|
|
151
|
-
directionsRenderer.setDirections(result);
|
|
152
|
-
}
|
|
153
|
-
});
|
|
154
|
-
this.historyCustomerDirections = directionsRenderer;
|
|
155
|
-
this.setMarkersMap(null, this.map);
|
|
156
|
-
return marker;
|
|
157
|
-
}
|
|
158
|
-
setMarkersMap(all, history) {
|
|
159
|
-
this.allCustomersMarkers.map((marker) => {
|
|
160
|
-
marker.setMap(all);
|
|
161
|
-
});
|
|
162
|
-
this.allCustomersDirections.setMap(all);
|
|
163
|
-
this.historyCustomerMarker.setMap(history);
|
|
164
|
-
this.historyCustomerDirections.setMap(history);
|
|
165
|
-
}
|
|
166
89
|
}
|
|
167
|
-
/** @nocollapse */ MapService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapService, deps: [{ token: i1.
|
|
90
|
+
/** @nocollapse */ MapService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapService, deps: [{ token: i1.MapDirectionsService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
168
91
|
/** @nocollapse */ MapService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapService, providedIn: 'root' });
|
|
169
92
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: MapService, decorators: [{
|
|
170
93
|
type: Injectable,
|
|
171
94
|
args: [{
|
|
172
95
|
providedIn: 'root'
|
|
173
96
|
}]
|
|
174
|
-
}], ctorParameters: function () { return [{ type: i1.
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvc2VydmljZXMvbWFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzQyxNQUFNLE9BQU8sVUFBVTtJQVNyQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQU45Qyx3QkFBbUIsR0FBUSxFQUFFLENBQUM7SUFNbUIsQ0FBQztJQUVsRCxhQUFhO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxNQUFNO1FBQ0osT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxNQUFNLENBQUMsR0FBRztRQUNSLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxPQUFPO1FBQ2hCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVLLE9BQU8sQ0FBQyxVQUFVOztZQUN0QixJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUN0RCxPQUFPO29CQUNMLEdBQUcsRUFBRSxHQUFHLENBQUMsR0FBRztvQkFDWixHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUc7aUJBQ2IsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUU7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RUFBRTtZQUNqQyxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLFVBQVUsRUFBRSxTQUFTO1NBQ3RCLENBQUM7UUFFRixpQkFBaUIsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsTUFBTSxFQUFFLE1BQU07WUFDdkQsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO2dCQUNsQixrQkFBa0IsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7YUFDMUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyx5QkFBeUIsR0FBRyxrQkFBa0IsQ0FBQztRQUVwRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFbkMsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxHQUFHLEVBQUUsT0FBTztRQUN4QixJQUFJLENBQUMsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNyQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pELENBQUM7OzJIQXpNVSxVQUFVOytIQUFWLFVBQVUsY0FGVCxNQUFNOzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbWFrZUJpbmRpbmdQYXJzZXIgfSBmcm9tICdAYW5ndWxhci9jb21waWxlcic7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBZ2VudFNlcnZpY2UgfSBmcm9tICcuL2FnZW50LnNlcnZpY2UnO1xuXG5kZWNsYXJlIGNvbnN0IGdvb2dsZTogYW55O1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBNYXBTZXJ2aWNlIHtcbiAgbXlQb3NpdGlvbjtcbiAgbWFwOiBhbnk7XG4gIGFsbEN1c3RvbWVyc01hcmtlcnM6IGFueSA9IFtdO1xuICBhbGxDdXN0b21lcnNEaXJlY3Rpb25zO1xuXG4gIGhpc3RvcnlDdXN0b21lck1hcmtlcjtcbiAgaGlzdG9yeUN1c3RvbWVyRGlyZWN0aW9ucztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFnZW50U2VydmljZTogQWdlbnRTZXJ2aWNlKSB7fVxuXG4gIGdldE15UG9zaXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubXlQb3NpdGlvbjtcbiAgfVxuXG4gIGdldE1hcCgpIHtcbiAgICByZXR1cm4gdGhpcy5tYXA7XG4gIH1cblxuICBzZXRNYXAobWFwKSB7XG4gICAgdGhpcy5tYXAgPSBtYXA7XG4gIH1cblxuICBnZXRNYXJrZXJzKCkge1xuICAgIHJldHVybiB0aGlzLmFsbEN1c3RvbWVyc01hcmtlcnM7XG4gIH1cblxuICBzZXRNYXJrZXJzKG1hcmtlcnMpIHtcbiAgICB0aGlzLmFsbEN1c3RvbWVyc01hcmtlcnMgPSBtYXJrZXJzO1xuICB9XG5cbiAgYXN5bmMgaW5pdE1hcChtYXBFbGVtZW50KSB7XG4gICAgdGhpcy5teVBvc2l0aW9uID0gYXdhaXQgdGhpcy5nZXRQb3NpdGlvbigpLnRoZW4oKHBvcykgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbGF0OiBwb3MubGF0LFxuICAgICAgICBsbmc6IHBvcy5sbmdcbiAgICAgIH07XG4gICAgfSk7XG5cbiAgICB0aGlzLm1hcCA9IG5ldyBnb29nbGUubWFwcy5NYXAobWFwRWxlbWVudC5uYXRpdmVFbGVtZW50LCB7XG4gICAgICB6b29tOiAxMCxcbiAgICAgIGNlbnRlcjogdGhpcy5teVBvc2l0aW9uLFxuICAgICAgc3RyZWV0Vmlld0NvbnRyb2w6IGZhbHNlLFxuICAgICAgbWFwVHlwZUNvbnRyb2w6IGZhbHNlLFxuICAgICAgZnVsbHNjcmVlbkNvbnRyb2w6IGZhbHNlLFxuICAgICAgem9vbUNvbnRyb2w6IGZhbHNlLFxuICAgIH0pO1xuICB9XG5cbiAgYXN5bmMgcGxvdE1hcmtlcnMoY3VzdG9tZXJzKSB7XG4gICAgbGV0IHBhdGggPSBbXTtcblxuICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xuICAgICAgcG9zaXRpb246IHRoaXMubXlQb3NpdGlvbixcbiAgICAgIG1hcDogdGhpcy5tYXAsXG4gICAgICBhbmltYXRpb246IGdvb2dsZS5tYXBzLkFuaW1hdGlvbi5EUk9QXG4gICAgfSk7XG5cbiAgICBsZXQgb3JpZ2luID0gbWFya2VyLmdldFBvc2l0aW9uKCk7XG5cbiAgICBjdXN0b21lcnMubWFwKChjdXN0b21lcikgPT4ge1xuICAgICAgcGF0aC5wdXNoKHtcbiAgICAgICAgbG9jYXRpb246IHRoaXMuZ2V0TGF0TG5nKGN1c3RvbWVyLmV4dHJhcy5sb2MpLFxuICAgICAgICBzdG9wb3ZlcjogdHJ1ZVxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjdXN0b21lcnMgPSBhd2FpdCB0aGlzLmNhbGNSb3V0ZShjdXN0b21lcnMsIG9yaWdpbiwgcGF0aCk7XG5cbiAgICBjdXN0b21lcnMubWFwKChjdXN0b21lciwgaW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IG1hcmtlciA9IG5ldyBnb29nbGUubWFwcy5NYXJrZXIoe1xuICAgICAgICBwb3NpdGlvbjogdGhpcy5nZXRMYXRMbmcoY3VzdG9tZXIuZXh0cmFzLmxvYyksXG4gICAgICAgIG1hcDogdGhpcy5tYXAsXG4gICAgICAgIGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1AsXG4gICAgICAgIGxhYmVsOiB7XG4gICAgICAgICAgdGV4dDogU3RyaW5nKGluZGV4ICsgMSksXG4gICAgICAgICAgY29sb3I6ICcjRkZGJ1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgdGhpcy5hbGxDdXN0b21lcnNNYXJrZXJzLnB1c2gobWFya2VyKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBjdXN0b21lcnM7XG4gIH1cblxuICBhc3luYyBjYWxjUm91dGUoY3VzdG9tZXJzLCBvcmlnaW4sIHdheXBvaW50cykge1xuICAgIGxldCBkaXJlY3Rpb25zU2VydmljZSA9IG5ldyBnb29nbGUubWFwcy5EaXJlY3Rpb25zU2VydmljZSgpO1xuICAgIGxldCBkaXJlY3Rpb25zUmVuZGVyZXIgPSBuZXcgZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyKHtcbiAgICAgIHN1cHByZXNzTWFya2VyczogdHJ1ZVxuICAgIH0pO1xuXG4gICAgY29uc3QgZGVzdGluYXRpb24gPSBuZXcgZ29vZ2xlLm1hcHMuTGF0TG5nKDE5LjA5OTYwNzksIDcyLjkxNDQ0MTIpO1xuXG4gICAgZGlyZWN0aW9uc1JlbmRlcmVyLnNldE1hcCh0aGlzLm1hcCk7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBvcmlnaW46IG9yaWdpbixcbiAgICAgIGRlc3RpbmF0aW9uOiBkZXN0aW5hdGlvbixcbiAgICAgIHdheXBvaW50czogd2F5cG9pbnRzLFxuICAgICAgb3B0aW1pemVXYXlwb2ludHM6IHRydWUsXG4gICAgICB0cmF2ZWxNb2RlOiAnRFJJVklORydcbiAgICB9O1xuXG4gICAgbGV0IHNvcnRMaXN0ID0gdGhpcy5zb3J0TGlzdDtcbiAgICBsZXQgY3VzdG9tZXJzRGF0YSA9IGN1c3RvbWVycztcblxuICAgIGF3YWl0IGRpcmVjdGlvbnNTZXJ2aWNlLnJvdXRlKHJlcXVlc3QsIGZ1bmN0aW9uIChyZXN1bHQsIHN0YXR1cykge1xuICAgICAgaWYgKHN0YXR1cyA9PSAnT0snKSB7XG4gICAgICAgIGRpcmVjdGlvbnNSZW5kZXJlci5zZXREaXJlY3Rpb25zKHJlc3VsdCk7XG4gICAgICAgIGN1c3RvbWVyc0RhdGEgPSBzb3J0TGlzdChcbiAgICAgICAgICByZXN1bHQucm91dGVzWzBdLndheXBvaW50X29yZGVyLFxuICAgICAgICAgIGN1c3RvbWVyc0RhdGFcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuYWxsQ3VzdG9tZXJzRGlyZWN0aW9ucyA9IGRpcmVjdGlvbnNSZW5kZXJlcjtcblxuICAgIHJldHVybiBjdXN0b21lcnNEYXRhO1xuICB9XG5cbiAgZ2V0UG9zaXRpb24oKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0aW9uLndhdGNoUG9zaXRpb24oXG4gICAgICAgIChyZXNwKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZSh7XG4gICAgICAgICAgICBsbmc6IHJlc3AuY29vcmRzLmxvbmdpdHVkZSxcbiAgICAgICAgICAgIGxhdDogcmVzcC5jb29yZHMubGF0aXR1ZGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgZ2V0TGF0TG5nKGRhdGEpIHtcbiAgICByZXR1cm4gbmV3IGdvb2dsZS5tYXBzLkxhdExuZyhkYXRhWzBdLCBkYXRhWzFdKTtcbiAgfVxuXG4gIHNvcnRMaXN0KG9yZGVyLCBjdXN0b21lcnNEYXRhKSB7XG4gICAgbGV0IGMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1c3RvbWVyc0RhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjdXN0b21lciA9IGN1c3RvbWVyc0RhdGFbb3JkZXJbaV1dO1xuICAgICAgYy5wdXNoKGN1c3RvbWVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYztcbiAgfVxuXG4gIHBsb3RIaXN0b3J5Q3VzdG9tZXIoY3VzdG9tZXIpIHtcbiAgICBpZiAodGhpcy5oaXN0b3J5Q3VzdG9tZXJNYXJrZXIpIHRoaXMuc2V0TWFya2Vyc01hcChudWxsLCBudWxsKTtcbiAgICB0aGlzLmFnZW50U2VydmljZS50b2dnbGVNZW51KCk7XG5cbiAgICBjb25zdCBtYXJrZXIgPSBuZXcgZ29vZ2xlLm1hcHMuTWFya2VyKHtcbiAgICAgIHBvc2l0aW9uOiB0aGlzLmdldExhdExuZyhjdXN0b21lci5sb2MpLFxuICAgICAgbWFwOiB0aGlzLm1hcCxcbiAgICAgIGFuaW1hdGlvbjogZ29vZ2xlLm1hcHMuQW5pbWF0aW9uLkRST1AsXG4gICAgICBsYWJlbDoge1xuICAgICAgICB0ZXh0OiAnQycsXG4gICAgICAgIGNvbG9yOiAnI0ZGRidcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGlzdG9yeUN1c3RvbWVyTWFya2VyID0gbWFya2VyO1xuXG4gICAgbGV0IGRpcmVjdGlvbnNTZXJ2aWNlID0gbmV3IGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNTZXJ2aWNlKCk7XG4gICAgbGV0IGRpcmVjdGlvbnNSZW5kZXJlciA9IG5ldyBnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIoe1xuICAgICAgc3VwcHJlc3NNYXJrZXJzOiB0cnVlXG4gICAgfSk7XG5cbiAgICBkaXJlY3Rpb25zUmVuZGVyZXIuc2V0TWFwKHRoaXMubWFwKTtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIG9yaWdpbjogdGhpcy5teVBvc2l0aW9uLFxuICAgICAgZGVzdGluYXRpb246IG1hcmtlci5nZXRQb3NpdGlvbigpLFxuICAgICAgb3B0aW1pemVXYXlwb2ludHM6IHRydWUsXG4gICAgICB0cmF2ZWxNb2RlOiAnRFJJVklORydcbiAgICB9O1xuXG4gICAgZGlyZWN0aW9uc1NlcnZpY2Uucm91dGUocmVxdWVzdCwgZnVuY3Rpb24gKHJlc3VsdCwgc3RhdHVzKSB7XG4gICAgICBpZiAoc3RhdHVzID09ICdPSycpIHtcbiAgICAgICAgZGlyZWN0aW9uc1JlbmRlcmVyLnNldERpcmVjdGlvbnMocmVzdWx0KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuaGlzdG9yeUN1c3RvbWVyRGlyZWN0aW9ucyA9IGRpcmVjdGlvbnNSZW5kZXJlcjtcblxuICAgIHRoaXMuc2V0TWFya2Vyc01hcChudWxsLCB0aGlzLm1hcCk7XG5cbiAgICByZXR1cm4gbWFya2VyO1xuICB9XG5cbiAgc2V0TWFya2Vyc01hcChhbGwsIGhpc3RvcnkpIHtcbiAgICB0aGlzLmFsbEN1c3RvbWVyc01hcmtlcnMubWFwKChtYXJrZXIpID0+IHtcbiAgICAgIG1hcmtlci5zZXRNYXAoYWxsKTtcbiAgICB9KTtcbiAgICB0aGlzLmFsbEN1c3RvbWVyc0RpcmVjdGlvbnMuc2V0TWFwKGFsbCk7XG5cbiAgICB0aGlzLmhpc3RvcnlDdXN0b21lck1hcmtlci5zZXRNYXAoaGlzdG9yeSk7XG4gICAgdGhpcy5oaXN0b3J5Q3VzdG9tZXJEaXJlY3Rpb25zLnNldE1hcChoaXN0b3J5KTtcbiAgfVxufVxuIl19
|
|
97
|
+
}], ctorParameters: function () { return [{ type: i1.MapDirectionsService }]; }, propDecorators: { directionsRenders: [{
|
|
98
|
+
type: ViewChildren,
|
|
99
|
+
args: ['directionsRender']
|
|
100
|
+
}] } });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvc2VydmljZXMvbWFwLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBYyxVQUFVLEVBQWEsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWhGLE9BQU8sRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7O0FBU3JDLE1BQU0sT0FBTyxVQUFVO0lBYXJCLFlBQW1CLG9CQUEwQztRQUExQyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQXNCO1FBVDdELFlBQU8sR0FBUSxFQUFFLENBQUM7UUFHbEIsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO0lBTW9DLENBQUM7SUFFakUsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQU87UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7SUFDekIsQ0FBQztJQUVLLE9BQU87O1lBQ1gsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUUzQyxJQUFJLENBQUMsR0FBRyxHQUFHO2dCQUNULElBQUksRUFBRSxFQUFFO2dCQUNSLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVTtnQkFDdkIsaUJBQWlCLEVBQUUsS0FBSztnQkFDeEIsY0FBYyxFQUFFLEtBQUs7Z0JBQ3JCLGlCQUFpQixFQUFFLEtBQUs7Z0JBQ3hCLFdBQVcsRUFBRSxLQUFLO2FBQ25CLENBQUM7UUFDSixDQUFDO0tBQUE7SUFFRCxXQUFXLENBQUMsU0FBUztRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFFZCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUks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QUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0MsSUFBSSxRQUFRLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDbEI7UUFFRCxPQUFPLENBQUMsQ0FBQztJQUNYLENBQUM7OzJIQS9HVSxVQUFVOytIQUFWLFVBQVUsY0FGVCxNQUFNOzRGQUVQLFVBQVU7a0JBSHRCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzJHQVVtQyxpQkFBaUI7c0JBQWxELFlBQVk7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRWxlbWVudFJlZiwgSW5qZWN0YWJsZSwgUXVlcnlMaXN0LCBWaWV3Q2hpbGRyZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGxvZ01ldGhvZCB9IGZyb20gJ2t3aWtpZC10b29sa2l0JztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgTWFwRGlyZWN0aW9uc1NlcnZpY2UgfSBmcm9tICdAYW5ndWxhci9nb29nbGUtbWFwcyc7XG5cbmRlY2xhcmUgY29uc3QgZ29vZ2xlOiBhbnk7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1hcFNlcnZpY2Uge1xuICBteVBvc2l0aW9uO1xuICBtYXA6IGFueTtcblxuICBtYXJrZXJzOiBhbnkgPSBbXTtcblxuICBkaXJlY3Rpb25zUmVzdWx0cyQ7XG4gIGRpcmVjdGlvbnNSZW5kZXJPcHRpb24gPSB7fTtcblxuICBAVmlld0NoaWxkcmVuKCdkaXJlY3Rpb25zUmVuZGVyJykgZGlyZWN0aW9uc1JlbmRlcnM6IFF1ZXJ5TGlzdDxcbiAgICBFbGVtZW50UmVmPGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNSZW5kZXJlcj5cbiAgPjtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgbWFwRGlyZWN0aW9uc1NlcnZpY2U6IE1hcERpcmVjdGlvbnNTZXJ2aWNlKSB7fVxuXG4gIGdldE1hcmtlcnMoKSB7XG4gICAgcmV0dXJuIHRoaXMubWFya2VycztcbiAgfVxuXG4gIHNldE1hcmtlcnMobWFya2Vycykge1xuICAgIHRoaXMubWFya2VycyA9IG1hcmtlcnM7XG4gIH1cblxuICBhc3luYyBpbml0TWFwKCkge1xuICAgIHRoaXMubXlQb3NpdGlvbiA9IGF3YWl0IHRoaXMuZ2V0UG9zaXRpb24oKTtcblxuICAgIHRoaXMubWFwID0ge1xuICAgICAgem9vbTogMTAsXG4gICAgICBjZW50ZXI6IHRoaXMubXlQb3NpdGlvbixcbiAgICAgIHN0cmVldFZpZXdDb250cm9sOiBmYWxzZSxcbiAgICAgIG1hcFR5cGVDb250cm9sOiBmYWxzZSxcbiAgICAgIGZ1bGxzY3JlZW5Db250cm9sOiBmYWxzZSxcbiAgICAgIHpvb21Db250cm9sOiBmYWxzZVxuICAgIH07XG4gIH1cblxuICBwbG90TWFya2VycyhjdXN0b21lcnMpIHtcbiAgICB0aGlzLm1hcmtlcnMgPSBbXTtcbiAgICBsZXQgcGF0aCA9IFtdO1xuXG4gICAgdGhpcy5tYXJrZXJzLnB1c2godGhpcy5teVBvc2l0aW9uKTtcblxuICAgIGN1c3RvbWVycy5tYXAoKGN1c3RvbWVyKSA9PiB7XG4gICAgICBwYXRoLnB1c2goe1xuICAgICAgICBsb2NhdGlvbjogdGhpcy5nZXRMYXRMbmcoXG4gICAgICAgICAgY3VzdG9tZXIudGFza19kZXRhaWxzLmN1c3RvbWVyX2RldGFpbHMubG9jYXRpb25cbiAgICAgICAgKSxcbiAgICAgICAgc3RvcG92ZXI6IHRydWVcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgcmVxdWVzdDogZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlcXVlc3QgPSB7XG4gICAgICBvcmlnaW46IHRoaXMubXlQb3NpdGlvbixcbiAgICAgIGRlc3RpbmF0aW9uOiB0aGlzLm15UG9zaXRpb24sXG4gICAgICB3YXlwb2ludHM6IHBhdGgsXG4gICAgICBvcHRpbWl6ZVdheXBvaW50czogdHJ1ZSxcbiAgICAgIHRyYXZlbE1vZGU6IGdvb2dsZS5tYXBzLlRyYXZlbE1vZGUuRFJJVklOR1xuICAgIH07XG5cbiAgICB0aGlzLmRpcmVjdGlvbnNSZW5kZXJPcHRpb24gPSB7XG4gICAgICBzdXBwcmVzc01hcmtlcnM6IHRydWVcbiAgICB9O1xuXG4gICAgdGhpcy5kaXJlY3Rpb25zUmVzdWx0cyQgPSB0aGlzLm1hcERpcmVjdGlvbnNTZXJ2aWNlXG4gICAgICAucm91dGUocmVxdWVzdClcbiAgICAgIC5waXBlKG1hcCgocmVzcG9uc2UpID0+IHJlc3BvbnNlLnJlc3VsdCkpO1xuXG4gICAgdGhpcy5kaXJlY3Rpb25zUmVzdWx0cyQuc3Vic2NyaWJlKCh2YWwpID0+IHtcbiAgICAgIGN1c3RvbWVycyA9IHRoaXMuc29ydExpc3QodmFsLnJvdXRlc1swXS53YXlwb2ludF9vcmRlciwgY3VzdG9tZXJzKTtcbiAgICAgIGN1c3RvbWVycy5tYXAoKGN1c3RvbWVyKSA9PiB7XG4gICAgICAgIHRoaXMubWFya2Vycy5wdXNoKFxuICAgICAgICAgIHRoaXMuZ2V0TGF0TG5nKGN1c3RvbWVyLnRhc2tfZGV0YWlscy5jdXN0b21lcl9kZXRhaWxzLmxvY2F0aW9uKVxuICAgICAgICApO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5kaXJlY3Rpb25zUmVzdWx0cyQ7XG4gIH1cblxuICBnZXRQb3NpdGlvbigpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBuYXZpZ2F0b3IuZ2VvbG9jYXRpb24ud2F0Y2hQb3NpdGlvbihcbiAgICAgICAgKHJlc3ApID0+IHtcbiAgICAgICAgICByZXNvbHZlKHtcbiAgICAgICAgICAgIGxuZzogcmVzcC5jb29yZHMubG9uZ2l0dWRlLFxuICAgICAgICAgICAgbGF0OiByZXNwLmNvb3Jkcy5sYXRpdHVkZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgIH1cbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBnZXRMYXRMbmcoZGF0YSkge1xuICAgIGxldCB1cmwgPSBkYXRhLnNwbGl0KCdAJyk7XG4gICAgbGV0IGxhdF9sb25nX21hdGNoID0gdXJsWzFdLnNwbGl0KCcsJyk7XG4gICAgbGV0IGxhdCA9IE51bWJlcihsYXRfbG9uZ19tYXRjaFswXSk7XG4gICAgbGV0IGxvbmcgPSBOdW1iZXIobGF0X2xvbmdfbWF0Y2hbMV0pO1xuICAgIHJldHVybiB7IGxhdDogbGF0LCBsbmc6IGxvbmcgfTtcbiAgfVxuXG4gIHNvcnRMaXN0KG9yZGVyLCBjdXN0b21lcnNEYXRhKSB7XG4gICAgbGV0IGMgPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGN1c3RvbWVyc0RhdGEubGVuZ3RoOyBpKyspIHtcbiAgICAgIGxldCBjdXN0b21lciA9IGN1c3RvbWVyc0RhdGFbb3JkZXJbaV1dO1xuICAgICAgYy5wdXNoKGN1c3RvbWVyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYztcbiAgfVxufVxuIl19
|