@aggdirect/coolmap 2.8.5 → 2.8.7

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,25 @@
1
+ import { Component, EventEmitter, Input, Output } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@angular/forms";
4
+ import * as i2 from "@angular/material/radio";
5
+ export class SearchoptiongroupComponent {
6
+ searchConfig;
7
+ onUpdatePickUpSearchOption = new EventEmitter();
8
+ get searchOption() {
9
+ return this.searchConfig.form.get(this.searchConfig.controlname);
10
+ }
11
+ changeSearchOption(value) {
12
+ this.onUpdatePickUpSearchOption.emit(value);
13
+ }
14
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SearchoptiongroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
15
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SearchoptiongroupComponent, selector: "lib-searchoptiongroup", inputs: { searchConfig: "searchConfig" }, outputs: { onUpdatePickUpSearchOption: "onUpdatePickUpSearchOption" }, ngImport: i0, template: "<div class=\"selected_prt\">\n <mat-radio-group aria-label=\"Select an option\" [formControl]=\"searchOption\" (change)=\"changeSearchOption($event)\">\n <mat-radio-button value=\"system\">System Search</mat-radio-button>\n <mat-radio-button value=\"google\">Google Search</mat-radio-button>\n </mat-radio-group>\n</div>", styles: [".selected_prt{margin:0}\n"], dependencies: [{ kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }] });
16
+ }
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SearchoptiongroupComponent, decorators: [{
18
+ type: Component,
19
+ args: [{ selector: 'lib-searchoptiongroup', template: "<div class=\"selected_prt\">\n <mat-radio-group aria-label=\"Select an option\" [formControl]=\"searchOption\" (change)=\"changeSearchOption($event)\">\n <mat-radio-button value=\"system\">System Search</mat-radio-button>\n <mat-radio-button value=\"google\">Google Search</mat-radio-button>\n </mat-radio-group>\n</div>", styles: [".selected_prt{margin:0}\n"] }]
20
+ }], propDecorators: { searchConfig: [{
21
+ type: Input
22
+ }], onUpdatePickUpSearchOption: [{
23
+ type: Output
24
+ }] } });
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNob3B0aW9uZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvc2VhcmNob3B0aW9uZ3JvdXAvc2VhcmNob3B0aW9uZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29vbG1hcC9zcmMvbGliL2NvbXBvbmVudC9zaGFyZWQvc2VhcmNob3B0aW9uZ3JvdXAvc2VhcmNob3B0aW9uZ3JvdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVEvRSxNQUFNLE9BQU8sMEJBQTBCO0lBQzVCLFlBQVksQ0FBMkM7SUFDdEQsMEJBQTBCLEdBQXlCLElBQUksWUFBWSxFQUFFLENBQUM7SUFDaEYsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUNmLENBQUM7SUFDbkIsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDO3VHQVhVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLDhLQ1J2QyxrVkFLTTs7MkZER08sMEJBQTBCO2tCQUx0QyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFLeEIsWUFBWTtzQkFBcEIsS0FBSztnQkFDSSwwQkFBMEI7c0JBQW5DLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItc2VhcmNob3B0aW9uZ3JvdXAnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2VhcmNob3B0aW9uZ3JvdXAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2VhcmNob3B0aW9uZ3JvdXAuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNlYXJjaG9wdGlvbmdyb3VwQ29tcG9uZW50IHtcbiAgQElucHV0KCkgc2VhcmNoQ29uZmlnOiB7IGZvcm06IEZvcm1Hcm91cDsgY29udHJvbG5hbWU6IHN0cmluZyB9O1xuICBAT3V0cHV0KCkgb25VcGRhdGVQaWNrVXBTZWFyY2hPcHRpb246IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBnZXQgc2VhcmNoT3B0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaENvbmZpZy5mb3JtLmdldChcbiAgICAgIHRoaXMuc2VhcmNoQ29uZmlnLmNvbnRyb2xuYW1lXG4gICAgKSBhcyBGb3JtQ29udHJvbDtcbiAgfVxuXG4gIGNoYW5nZVNlYXJjaE9wdGlvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vblVwZGF0ZVBpY2tVcFNlYXJjaE9wdGlvbi5lbWl0KHZhbHVlKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cInNlbGVjdGVkX3BydFwiPlxuICAgIDxtYXQtcmFkaW8tZ3JvdXAgYXJpYS1sYWJlbD1cIlNlbGVjdCBhbiBvcHRpb25cIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoT3B0aW9uXCIgKGNoYW5nZSk9XCJjaGFuZ2VTZWFyY2hPcHRpb24oJGV2ZW50KVwiPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJzeXN0ZW1cIj5TeXN0ZW0gU2VhcmNoPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgICAgPG1hdC1yYWRpby1idXR0b24gdmFsdWU9XCJnb29nbGVcIj5Hb29nbGUgU2VhcmNoPC9tYXQtcmFkaW8tYnV0dG9uPlxuICAgIDwvbWF0LXJhZGlvLWdyb3VwPlxuPC9kaXY+Il19
@@ -34,6 +34,8 @@ import { AddRouteComponent } from './component/add-route/add-route.component';
34
34
  import { EstimationDisplayComponent } from './component/shared/estimation-display/estimation-display.component';
35
35
  import { RouteInfoCardComponent } from './component/shared/route-info-card/route-info-card.component';
36
36
  import { ScrollingModule } from '@angular/cdk/scrolling';
37
+ import { MatRadioModule } from '@angular/material/radio';
38
+ import { SearchoptiongroupComponent } from './component/shared/searchoptiongroup/searchoptiongroup.component';
37
39
  import * as i0 from "@angular/core";
38
40
  export class CoolmapModule {
39
41
  static forRoot(memberData) {
@@ -58,7 +60,8 @@ export class CoolmapModule {
58
60
  DialogComponent,
59
61
  AddRouteComponent,
60
62
  EstimationDisplayComponent,
61
- RouteInfoCardComponent], imports: [CommonModule,
63
+ RouteInfoCardComponent,
64
+ SearchoptiongroupComponent], imports: [CommonModule,
62
65
  MatSnackBarModule,
63
66
  MatSidenavModule,
64
67
  DragDropModule,
@@ -78,7 +81,8 @@ export class CoolmapModule {
78
81
  MatPseudoCheckboxModule,
79
82
  MatButtonModule,
80
83
  MatProgressBarModule,
81
- ScrollingModule], exports: [MapComponent,
84
+ ScrollingModule,
85
+ MatRadioModule], exports: [MapComponent,
82
86
  NavComponent,
83
87
  AddRouteNavComponent,
84
88
  JobCodeNavComponent,
@@ -112,7 +116,8 @@ export class CoolmapModule {
112
116
  MatPseudoCheckboxModule,
113
117
  MatButtonModule,
114
118
  MatProgressBarModule,
115
- ScrollingModule] });
119
+ ScrollingModule,
120
+ MatRadioModule] });
116
121
  }
117
122
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CoolmapModule, decorators: [{
118
123
  type: NgModule,
@@ -133,7 +138,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
133
138
  DialogComponent,
134
139
  AddRouteComponent,
135
140
  EstimationDisplayComponent,
136
- RouteInfoCardComponent
141
+ RouteInfoCardComponent,
142
+ SearchoptiongroupComponent
137
143
  ],
138
144
  imports: [
139
145
  CommonModule,
@@ -156,7 +162,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
156
162
  MatPseudoCheckboxModule,
157
163
  MatButtonModule,
158
164
  MatProgressBarModule,
159
- ScrollingModule
165
+ ScrollingModule,
166
+ MatRadioModule
160
167
  ],
161
168
  exports: [
162
169
  MapComponent,
@@ -183,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
183
190
  providers: []
184
191
  }]
185
192
  }] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vbG1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29vbG1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFD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b0JBQ0Qsa0ZBQWtGO29CQUNsRixxQkFBcUI7b0JBQ3JCLHFCQUFxQjtvQkFDckIsc0JBQXNCO29CQUN0QixzQkFBc0I7b0JBQ3RCLEtBQUs7b0JBQ0wsU0FBUyxFQUFFLEVBQ1Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWFwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvbWFwL21hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvbmF2L25hdi5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyBNYXRTaWRlbmF2TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2lkZW5hdic7XG5pbXBvcnQgeyBNYXRTbmFja0Jhck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NuYWNrLWJhcic7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcbmltcG9ydCB7IE1hdFNlbGVjdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NlbGVjdCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9hdXRvY29tcGxldGUnO1xuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdENoaXBzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge01hdFRvb2x0aXBNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Rvb2x0aXAnO1xuaW1wb3J0IHsgQWRkUm91dGVOYXZDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9uYXYvbGF5b3V0L2FkZC1yb3V0ZS1uYXYvYWRkLXJvdXRlLW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSm9iQ29kZU5hdkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L25hdi9sYXlvdXQvam9iLWNvZGUtbmF2L2pvYi1jb2RlLW5hdi5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xuaW1wb3J0IHsgTWF0TmF0aXZlRGF0ZU1vZHVsZSwgTWF0UHNldWRvQ2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5pbXBvcnQge01hdFByb2dyZXNzQmFyTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1iYXInO1xuaW1wb3J0IHsgUm91dGVKb2JDb2RlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC9yb3V0ZS1qb2Jjb2RlLWxpc3QuY29tcG9uZW50JztcbmltcG9ydCB7IFZpZXdSb3V0ZUxpc3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvcm91dGUtam9iY29kZS1saXN0L3ZpZXctcm91dGUtbGlzdC1jYXJkL3ZpZXctcm91dGUtbGlzdC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTbXNDYXJkRGV0YWlsc092ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvcm91dGUtam9iY29kZS1saXN0L3Ntcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXcvc21zLWNhcmQtZGV0YWlscy1vdmVydmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSm9iQ29kZUxpc3RDYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvcm91dGUtam9iY29kZS1saXN0L2pvYi1jb2RlLWxpc3QtY2FyZC9qb2ItY29kZS1saXN0LWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEpvYkNvZGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9qb2ItY29kZS9qb2ItY29kZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSm9iY29kZVN0YXR1c0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3NoYXJlZC9qb2Jjb2RlLXN0YXR1cy9qb2Jjb2RlLXN0YXR1cy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSm9iUm91dGVMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2hhcmVkL2pvYi1yb3V0ZS1saXN0L2pvYi1yb3V0ZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBKb2Jjb2RlT3ZlcnZpZXdDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9zaGFyZWQvam9iY29kZS1vdmVydmlldy9qb2Jjb2RlLW92ZXJ2aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9zaGFyZWQvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWRkUm91dGVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9hZGQtcm91dGUvYWRkLXJvdXRlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFc3RpbWF0aW9uRGlzcGxheUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3NoYXJlZC9lc3RpbWF0aW9uLWRpc3BsYXkvZXN0aW1hdGlvbi1kaXNwbGF5LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBSb3V0ZUluZm9DYXJkQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2hhcmVkL3JvdXRlLWluZm8tY2FyZC9yb3V0ZS1pbmZvLWNhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IENvb2xtYXBDb25maWdNb2RlbCB9IGZyb20gJ0BhZ2dkaXJlY3QvY29vbG1hcC1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBTY3JvbGxpbmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvc2Nyb2xsaW5nJztcblxuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1hcENvbXBvbmVudCxcbiAgICBOYXZDb21wb25lbnQsXG4gICAgQWRkUm91dGVOYXZDb21wb25lbnQsXG4gICAgSm9iQ29kZU5hdkNvbXBvbmVudCxcbiAgICBSb3V0ZUpvYkNvZGVMaXN0Q29tcG9uZW50LFxuICAgIFZpZXdSb3V0ZUxpc3RDYXJkQ29tcG9uZW50LFxuICAgIFNtc0NhcmREZXRhaWxzT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgSm9iQ29kZUxpc3RDYXJkQ29tcG9uZW50LFxuICAgIEpvYkNvZGVDb21wb25lbnQsXG4gICAgSm9iUm91dGVMaXN0Q29tcG9uZW50LFxuICAgIEpvYmNvZGVTdGF0dXNDb21wb25lbnQsXG4gICAgSm9iY29kZU92ZXJ2aWV3Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBBZGRSb3V0ZUNvbXBvbmVudCxcbiAgICBFc3RpbWF0aW9uRGlzcGxheUNvbXBvbmVudCxcbiAgICBSb3V0ZUluZm9DYXJkQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRQc2V1ZG9DaGVja2JveE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBDb21wb25lbnQsXG4gICAgTmF2Q29tcG9uZW50LFxuICAgIEFkZFJvdXRlTmF2Q29tcG9uZW50LFxuICAgIEpvYkNvZGVOYXZDb21wb25lbnQsXG4gICAgUm91dGVKb2JDb2RlTGlzdENvbXBvbmVudCxcbiAgICBWaWV3Um91dGVMaXN0Q2FyZENvbXBvbmVudCxcbiAgICBTbXNDYXJkRGV0YWlsc092ZXJ2aWV3Q29tcG9uZW50LFxuICAgIEpvYkNvZGVMaXN0Q2FyZENvbXBvbmVudCxcbiAgICBKb2JDb2RlQ29tcG9uZW50LFxuICAgIEpvYlJvdXRlTGlzdENvbXBvbmVudCxcbiAgICBKb2Jjb2RlU3RhdHVzQ29tcG9uZW50LFxuICAgIEpvYmNvZGVPdmVydmlld0NvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgQWRkUm91dGVDb21wb25lbnRcbiAgXSxcbiAgLy8gVE9ETzogZW50cnlDb21wb25lbnRzIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIEZpbmQgb3V0IGlmIHRoaXMgYnJlYWtzIHNvbWV0aGluZ1xuICAvLyBlbnRyeUNvbXBvbmVudHM6IFtcbiAgLy8gICBEaWFsb2dDb21wb25lbnQsXG4gIC8vICAgSm9iQ29kZUNvbXBvbmVudCxcbiAgLy8gICBBZGRSb3V0ZUNvbXBvbmVudFxuICAvLyBdLFxuICBwcm92aWRlcnM6IFtcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIENvb2xtYXBNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QobWVtYmVyRGF0YTogQ29vbG1hcENvbmZpZ01vZGVsKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb29sbWFwTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb29sbWFwTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6ICdtZW1iZXJEYXRhJywgdXNlVmFsdWU6IG1lbWJlckRhdGF9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29vbG1hcC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jb29sbWFwL3NyYy9saWIvY29vbG1hcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzdELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDJCQUEyQixDQUFD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O3dCQUNuQix5QkFBeUI7d0JBQ3pCLDBCQUEwQjt3QkFDMUIsK0JBQStCO3dCQUMvQix3QkFBd0I7d0JBQ3hCLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsZUFBZTt3QkFDZixpQkFBaUI7cUJBQ2xCO29CQUNELGtGQUFrRjtvQkFDbEYscUJBQXFCO29CQUNyQixxQkFBcUI7b0JBQ3JCLHNCQUFzQjtvQkFDdEIsc0JBQXNCO29CQUN0QixLQUFLO29CQUNMLFNBQVMsRUFBRSxFQUNWO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hcENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L21hcC9tYXAuY29tcG9uZW50JztcbmltcG9ydCB7IE5hdkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L25hdi9uYXYuY29tcG9uZW50JztcblxuaW1wb3J0IHsgTWF0U2lkZW5hdk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3NpZGVuYXYnO1xuaW1wb3J0IHsgTWF0U25hY2tCYXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbmFjay1iYXInO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRTZWxlY3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3QnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBNYXRDaGlwc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IE1hdERpYWxvZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtNYXRUb29sdGlwTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IEFkZFJvdXRlTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvbmF2L2xheW91dC9hZGQtcm91dGUtbmF2L2FkZC1yb3V0ZS1uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IEpvYkNvZGVOYXZDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9uYXYvbGF5b3V0L2pvYi1jb2RlLW5hdi9qb2ItY29kZS1uYXYuY29tcG9uZW50JztcbmltcG9ydCB7IE1hdERhdGVwaWNrZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcbmltcG9ydCB7IE1hdE5hdGl2ZURhdGVNb2R1bGUsIE1hdFBzZXVkb0NoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHtNYXRQcm9ncmVzc0Jhck1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3MtYmFyJztcbmltcG9ydCB7IFJvdXRlSm9iQ29kZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9yb3V0ZS1qb2Jjb2RlLWxpc3Qvcm91dGUtam9iY29kZS1saXN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWaWV3Um91dGVMaXN0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC92aWV3LXJvdXRlLWxpc3QtY2FyZC92aWV3LXJvdXRlLWxpc3QtY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU21zQ2FyZERldGFpbHNPdmVydmlld0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC9zbXMtY2FyZC1kZXRhaWxzLW92ZXJ2aWV3L3Ntcy1jYXJkLWRldGFpbHMtb3ZlcnZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IEpvYkNvZGVMaXN0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3JvdXRlLWpvYmNvZGUtbGlzdC9qb2ItY29kZS1saXN0LWNhcmQvam9iLWNvZGUtbGlzdC1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBKb2JDb2RlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvam9iLWNvZGUvam9iLWNvZGUuY29tcG9uZW50JztcbmltcG9ydCB7IEpvYmNvZGVTdGF0dXNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9zaGFyZWQvam9iY29kZS1zdGF0dXMvam9iY29kZS1zdGF0dXMuY29tcG9uZW50JztcbmltcG9ydCB7IEpvYlJvdXRlTGlzdENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3NoYXJlZC9qb2Itcm91dGUtbGlzdC9qb2Itcm91dGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSm9iY29kZU92ZXJ2aWV3Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2hhcmVkL2pvYmNvZGUtb3ZlcnZpZXcvam9iY29kZS1vdmVydmlldy5jb21wb25lbnQnO1xuaW1wb3J0IHsgRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvc2hhcmVkL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7IEFkZFJvdXRlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnQvYWRkLXJvdXRlL2FkZC1yb3V0ZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXN0aW1hdGlvbkRpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudC9zaGFyZWQvZXN0aW1hdGlvbi1kaXNwbGF5L2VzdGltYXRpb24tZGlzcGxheS5jb21wb25lbnQnO1xuaW1wb3J0IHsgUm91dGVJbmZvQ2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3NoYXJlZC9yb3V0ZS1pbmZvLWNhcmQvcm91dGUtaW5mby1jYXJkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDb29sbWFwQ29uZmlnTW9kZWwgfSBmcm9tICdAYWdnZGlyZWN0L2Nvb2xtYXAtc2VydmljZXMnO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Njcm9sbGluZyc7XG5pbXBvcnQge01hdFJhZGlvTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9yYWRpbyc7XG5pbXBvcnQgeyBTZWFyY2hvcHRpb25ncm91cENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50L3NoYXJlZC9zZWFyY2hvcHRpb25ncm91cC9zZWFyY2hvcHRpb25ncm91cC5jb21wb25lbnQnO1xuXG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIE1hcENvbXBvbmVudCxcbiAgICBOYXZDb21wb25lbnQsXG4gICAgQWRkUm91dGVOYXZDb21wb25lbnQsXG4gICAgSm9iQ29kZU5hdkNvbXBvbmVudCxcbiAgICBSb3V0ZUpvYkNvZGVMaXN0Q29tcG9uZW50LFxuICAgIFZpZXdSb3V0ZUxpc3RDYXJkQ29tcG9uZW50LFxuICAgIFNtc0NhcmREZXRhaWxzT3ZlcnZpZXdDb21wb25lbnQsXG4gICAgSm9iQ29kZUxpc3RDYXJkQ29tcG9uZW50LFxuICAgIEpvYkNvZGVDb21wb25lbnQsXG4gICAgSm9iUm91dGVMaXN0Q29tcG9uZW50LFxuICAgIEpvYmNvZGVTdGF0dXNDb21wb25lbnQsXG4gICAgSm9iY29kZU92ZXJ2aWV3Q29tcG9uZW50LFxuICAgIERpYWxvZ0NvbXBvbmVudCxcbiAgICBBZGRSb3V0ZUNvbXBvbmVudCxcbiAgICBFc3RpbWF0aW9uRGlzcGxheUNvbXBvbmVudCxcbiAgICBSb3V0ZUluZm9DYXJkQ29tcG9uZW50LFxuICAgIFNlYXJjaG9wdGlvbmdyb3VwQ29tcG9uZW50XG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0U25hY2tCYXJNb2R1bGUsXG4gICAgTWF0U2lkZW5hdk1vZHVsZSxcbiAgICBEcmFnRHJvcE1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRJbnB1dE1vZHVsZSxcbiAgICBNYXRTZWxlY3RNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcbiAgICBNYXRGb3JtRmllbGRNb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdENoaXBzTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdERhdGVwaWNrZXJNb2R1bGUsXG4gICAgTWF0TmF0aXZlRGF0ZU1vZHVsZSxcbiAgICBNYXRQc2V1ZG9DaGVja2JveE1vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NCYXJNb2R1bGUsXG4gICAgU2Nyb2xsaW5nTW9kdWxlLFxuICAgIE1hdFJhZGlvTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBDb21wb25lbnQsXG4gICAgTmF2Q29tcG9uZW50LFxuICAgIEFkZFJvdXRlTmF2Q29tcG9uZW50LFxuICAgIEpvYkNvZGVOYXZDb21wb25lbnQsXG4gICAgUm91dGVKb2JDb2RlTGlzdENvbXBvbmVudCxcbiAgICBWaWV3Um91dGVMaXN0Q2FyZENvbXBvbmVudCxcbiAgICBTbXNDYXJkRGV0YWlsc092ZXJ2aWV3Q29tcG9uZW50LFxuICAgIEpvYkNvZGVMaXN0Q2FyZENvbXBvbmVudCxcbiAgICBKb2JDb2RlQ29tcG9uZW50LFxuICAgIEpvYlJvdXRlTGlzdENvbXBvbmVudCxcbiAgICBKb2Jjb2RlU3RhdHVzQ29tcG9uZW50LFxuICAgIEpvYmNvZGVPdmVydmlld0NvbXBvbmVudCxcbiAgICBEaWFsb2dDb21wb25lbnQsXG4gICAgQWRkUm91dGVDb21wb25lbnRcbiAgXSxcbiAgLy8gVE9ETzogZW50cnlDb21wb25lbnRzIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQuIEZpbmQgb3V0IGlmIHRoaXMgYnJlYWtzIHNvbWV0aGluZ1xuICAvLyBlbnRyeUNvbXBvbmVudHM6IFtcbiAgLy8gICBEaWFsb2dDb21wb25lbnQsXG4gIC8vICAgSm9iQ29kZUNvbXBvbmVudCxcbiAgLy8gICBBZGRSb3V0ZUNvbXBvbmVudFxuICAvLyBdLFxuICBwcm92aWRlcnM6IFtcbiAgXVxufSlcblxuZXhwb3J0IGNsYXNzIENvb2xtYXBNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QobWVtYmVyRGF0YTogQ29vbG1hcENvbmZpZ01vZGVsKTogTW9kdWxlV2l0aFByb3ZpZGVyczxDb29sbWFwTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBDb29sbWFwTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6ICdtZW1iZXJEYXRhJywgdXNlVmFsdWU6IG1lbWJlckRhdGF9XVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Component, ViewChild, EventEmitter, Output, Inject, Input, NgModule } from '@angular/core';
2
+ import { Component, ViewChild, EventEmitter, Output, Inject, Input, inject, ChangeDetectorRef, NgModule } from '@angular/core';
3
3
  import { Subject, takeUntil, startWith, map, fromEvent, distinctUntilChanged, debounceTime } from 'rxjs';
4
4
  import * as i1 from '@aggdirect/coolmap-services';
5
5
  import { DriversmsCardKey, DriverSmsCardEnum, JobCodeOverviewData, JobCodeOverviewEnum, EstinationData, EstinationEnum } from '@aggdirect/coolmap-services';
@@ -40,6 +40,8 @@ import * as i8 from '@angular/cdk/scrolling';
40
40
  import { ScrollingModule } from '@angular/cdk/scrolling';
41
41
  import * as i10$1 from '@angular/material/datepicker';
42
42
  import { MatDatepickerModule } from '@angular/material/datepicker';
43
+ import * as i2$1 from '@angular/material/radio';
44
+ import { MatRadioModule } from '@angular/material/radio';
43
45
 
44
46
  class MapComponent {
45
47
  coolmapService;
@@ -1177,6 +1179,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
1177
1179
  type: Input
1178
1180
  }] } });
1179
1181
 
1182
+ class SearchoptiongroupComponent {
1183
+ searchConfig;
1184
+ onUpdatePickUpSearchOption = new EventEmitter();
1185
+ get searchOption() {
1186
+ return this.searchConfig.form.get(this.searchConfig.controlname);
1187
+ }
1188
+ changeSearchOption(value) {
1189
+ this.onUpdatePickUpSearchOption.emit(value);
1190
+ }
1191
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SearchoptiongroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1192
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: SearchoptiongroupComponent, selector: "lib-searchoptiongroup", inputs: { searchConfig: "searchConfig" }, outputs: { onUpdatePickUpSearchOption: "onUpdatePickUpSearchOption" }, ngImport: i0, template: "<div class=\"selected_prt\">\n <mat-radio-group aria-label=\"Select an option\" [formControl]=\"searchOption\" (change)=\"changeSearchOption($event)\">\n <mat-radio-button value=\"system\">System Search</mat-radio-button>\n <mat-radio-button value=\"google\">Google Search</mat-radio-button>\n </mat-radio-group>\n</div>", styles: [".selected_prt{margin:0}\n"], dependencies: [{ kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2$1.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i2$1.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color"], outputs: ["change"], exportAs: ["matRadioButton"] }] });
1193
+ }
1194
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: SearchoptiongroupComponent, decorators: [{
1195
+ type: Component,
1196
+ args: [{ selector: 'lib-searchoptiongroup', template: "<div class=\"selected_prt\">\n <mat-radio-group aria-label=\"Select an option\" [formControl]=\"searchOption\" (change)=\"changeSearchOption($event)\">\n <mat-radio-button value=\"system\">System Search</mat-radio-button>\n <mat-radio-button value=\"google\">Google Search</mat-radio-button>\n </mat-radio-group>\n</div>", styles: [".selected_prt{margin:0}\n"] }]
1197
+ }], propDecorators: { searchConfig: [{
1198
+ type: Input
1199
+ }], onUpdatePickUpSearchOption: [{
1200
+ type: Output
1201
+ }] } });
1202
+
1180
1203
  class AddRouteComponent {
1181
1204
  coolMapService;
1182
1205
  utils;
@@ -1186,8 +1209,8 @@ class AddRouteComponent {
1186
1209
  filterDelivery;
1187
1210
  changeNav = new EventEmitter();
1188
1211
  updateRouteList = new EventEmitter();
1189
- pickupOptions = [];
1190
- deliveryOptions = [];
1212
+ pickupOptions;
1213
+ deliveryOptions;
1191
1214
  requestParmsForRouteDetails = { pickup_lat_lng: '', delivery_lat_lng: '' };
1192
1215
  customersList = [];
1193
1216
  unitsList = [];
@@ -1204,6 +1227,11 @@ class AddRouteComponent {
1204
1227
  enablePopUp = false;
1205
1228
  prevantPopupClose = false;
1206
1229
  enableForm = false;
1230
+ locationList;
1231
+ cdr = inject(ChangeDetectorRef);
1232
+ get isSystemPickup() {
1233
+ return this.addRouteForm.get('pickUpSearchOption')?.value === 'system';
1234
+ }
1207
1235
  constructor(coolMapService, utils, dialog, config) {
1208
1236
  this.coolMapService = coolMapService;
1209
1237
  this.utils = utils;
@@ -1233,11 +1261,11 @@ class AddRouteComponent {
1233
1261
  });
1234
1262
  }
1235
1263
  filterCustomerList() {
1236
- this.customersList$ = this.addRouteForm.controls['customer_name'].valueChanges.pipe(startWith(''), map(value => this._filter(value || '')));
1264
+ this.customersList$ = this.addRouteForm.controls['customer_name'].valueChanges.pipe(startWith(''), map(value => this._filter((value || ''), this.customersList, 'customer_name')));
1237
1265
  }
1238
- _filter(value) {
1266
+ _filter(value, list, prop) {
1239
1267
  const filterValue = value.toLowerCase();
1240
- return this.customersList.filter((option) => option['customer_name'].toLowerCase().includes(filterValue));
1268
+ return list.filter((option) => option[prop].toLowerCase().includes(filterValue));
1241
1269
  }
1242
1270
  ngOnChanges(changes) {
1243
1271
  if (changes['routeData'] && !changes['routeData']['currentValue'])
@@ -1291,43 +1319,80 @@ class AddRouteComponent {
1291
1319
  this.filterCustomerList();
1292
1320
  this.addRouteForm.controls['customer_name'].enable();
1293
1321
  });
1322
+ if (this.config.repository === 'coolmap') {
1323
+ this.utils.fetchLocationlist().then((res) => {
1324
+ this.locationList = res;
1325
+ this.pickupOptions = this.createAddressFilter('pickup_location', this.locationList, 'formatted_address');
1326
+ this.deliveryOptions = this.createAddressFilter('delivery_location', this.locationList, 'formatted_address');
1327
+ });
1328
+ }
1294
1329
  }
1295
1330
  }
1296
- ngAfterViewInit() {
1297
- fromEvent(this.filterPickup.nativeElement, 'keyup').pipe(distinctUntilChanged(), debounceTime(150)).pipe(takeUntil(this.destroyer$)).subscribe(() => {
1298
- this.utils.autocomplete(this.filterPickup)
1331
+ formPickUpFilter() {
1332
+ fromEvent(this.filterPickup.nativeElement, 'keyup')
1333
+ .pipe(distinctUntilChanged(), debounceTime(150), takeUntil(this.destroyer$))
1334
+ .subscribe(() => {
1335
+ this.utils
1336
+ .autocomplete(this.filterPickup)
1299
1337
  .then((res) => {
1300
1338
  if (res) {
1301
- this.addRouteForm.patchValue({
1302
- pickup_location: res['formatted_address'],
1303
- pickup_lat_lng: (res['lat'] + ',' + res['lng']).toString()
1304
- });
1305
- this.coolMapService.clearBoundWithCordinates();
1306
- this.checkAndFetchRouteInformation();
1339
+ this.patchAddressValue(res, 'pickup');
1307
1340
  }
1308
1341
  });
1309
1342
  });
1310
- fromEvent(this.filterDelivery.nativeElement, 'keyup').pipe(distinctUntilChanged(), debounceTime(150)).pipe(takeUntil(this.destroyer$)).subscribe(() => {
1343
+ }
1344
+ formDeliveryFilter() {
1345
+ fromEvent(this.filterDelivery.nativeElement, 'keyup')
1346
+ .pipe(distinctUntilChanged(), debounceTime(150))
1347
+ .pipe(takeUntil(this.destroyer$))
1348
+ .subscribe(() => {
1311
1349
  this.utils.autocomplete(this.filterDelivery).then((res) => {
1312
1350
  if (res) {
1313
- this.addRouteForm.patchValue({
1314
- delivery_location: res['formatted_address'],
1315
- delivery_lat_lng: (res['lat'] + ',' + res['lng']).toString()
1316
- });
1317
- this.checkAndFetchRouteInformation();
1351
+ this.patchAddressValue(res, 'delivery');
1318
1352
  }
1319
1353
  });
1320
1354
  });
1321
1355
  }
1356
+ createAddressFilter(control, list, prop) {
1357
+ return this.addRouteForm.get(control).valueChanges.pipe(startWith(''), map(value => value === '' ? list : this._filter((value || ''), this.locationList, prop)));
1358
+ }
1359
+ ngAfterViewInit() {
1360
+ this.formPickUpFilter();
1361
+ this.formDeliveryFilter();
1362
+ }
1363
+ resetPickUpDelivery(type) {
1364
+ const form = this.addRouteForm;
1365
+ form.patchValue({
1366
+ [type + '_location']: '',
1367
+ [type + '_lat_lng']: ''
1368
+ });
1369
+ form.get(`${type}_location`).updateValueAndValidity();
1370
+ form.get(type + `_lat_lng`).markAsTouched();
1371
+ }
1372
+ patchAddressValue(data, type) {
1373
+ setTimeout(() => {
1374
+ this.addRouteForm.patchValue({
1375
+ [type + '_location']: data['formatted_address'],
1376
+ [type + '_lat_lng']: `${data['lat']},${data['lng']}`
1377
+ });
1378
+ this.addRouteForm.updateValueAndValidity();
1379
+ if (type === 'pickup')
1380
+ this.coolMapService.clearBoundWithCordinates();
1381
+ ;
1382
+ this.checkAndFetchRouteInformation();
1383
+ }, 100);
1384
+ }
1322
1385
  formControlValue() {
1323
1386
  this.addRouteForm.controls['pickup_location']?.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe((res) => {
1324
- if (this.addRouteForm.value.pickup_location && res !== this.addRouteForm.value.pickup_location) {
1387
+ const rawFormvalue = this.addRouteForm.getRawValue();
1388
+ if ((rawFormvalue.pickup_location && res) !== rawFormvalue.pickup_location) {
1325
1389
  this.addRouteForm.patchValue({ pickup_lat_lng: '' });
1326
1390
  this.addRouteForm.controls['pickup_lat_lng'].markAsTouched();
1327
1391
  }
1328
1392
  });
1329
1393
  this.addRouteForm.controls['delivery_location']?.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe((res) => {
1330
- if (this.addRouteForm.value.delivery_location && res !== this.addRouteForm.value.delivery_location) {
1394
+ const rawFormvalue = this.addRouteForm.getRawValue();
1395
+ if ((rawFormvalue.delivery_location && res) !== rawFormvalue.delivery_location) {
1331
1396
  this.addRouteForm.patchValue({ delivery_lat_lng: '' });
1332
1397
  this.addRouteForm.controls['delivery_lat_lng'].markAsTouched();
1333
1398
  }
@@ -1349,6 +1414,8 @@ class AddRouteComponent {
1349
1414
  note: new FormControl('', [Validators.maxLength(2048)]),
1350
1415
  trucker_pay_estimate: new FormControl(null),
1351
1416
  customer_price_estimate: new FormControl(null),
1417
+ pickUpSearchOption: new FormControl(''),
1418
+ deliverySearchOtption: new FormControl(''),
1352
1419
  });
1353
1420
  }
1354
1421
  async patchFormValue(data) {
@@ -1360,8 +1427,19 @@ class AddRouteComponent {
1360
1427
  customer_name: this.customerRepoDetails.customer.name,
1361
1428
  });
1362
1429
  }
1430
+ else {
1431
+ this.addRouteForm.patchValue({
1432
+ pickUpSearchOption: (!data || data.is_system_pickup) ? 'system' : 'google',
1433
+ deliverySearchOtption: (!data || data.is_system_delivery) ? 'system' : 'google',
1434
+ });
1435
+ }
1363
1436
  this.routeId = data?.route_id;
1364
- this.routeDetails = data ? { pickup_location: data.pickup_location, delivery_location: data.delivery_location } : null;
1437
+ this.routeDetails = data
1438
+ ? {
1439
+ pickup_location: data.pickup_location,
1440
+ delivery_location: data.delivery_location,
1441
+ }
1442
+ : null;
1365
1443
  this.addRouteForm.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe(res => {
1366
1444
  if (res) {
1367
1445
  if (this.preventInitialSave)
@@ -1386,7 +1464,7 @@ class AddRouteComponent {
1386
1464
  estimated_time: res['time'],
1387
1465
  path: res['path'],
1388
1466
  trucker_pay_estimate: res['trucker_haul_cost'],
1389
- customer_price_estimate: (+(+res['trucker_haul_cost'] / 0.80).toFixed(2))
1467
+ customer_price_estimate: res['customer_price_estimate']
1390
1468
  });
1391
1469
  let path = res['path'].split(';');
1392
1470
  path = path.map((ele) => { return ele = this.formateLatLong(ele); });
@@ -1397,17 +1475,21 @@ class AddRouteComponent {
1397
1475
  };
1398
1476
  this.coolMapService.removeRouteAndMarker(1).then(() => {
1399
1477
  const unit = this.unitsList.find((x) => x.id === this.addRouteForm.value.unit_id);
1478
+ const rawFormvalue = this.addRouteForm.getRawValue();
1400
1479
  this.coolMapService.loadMapProperty(element, 1, unit?.type, {
1401
- pickup_location: this.addRouteForm.get('pickup_location')?.value,
1402
- delivery_location: this.addRouteForm.get('delivery_location')?.value,
1403
- route_name: this.addRouteForm.get('route_name')?.value,
1480
+ pickup_location: rawFormvalue.pickup_location,
1481
+ delivery_location: rawFormvalue.delivery_location,
1482
+ route_name: rawFormvalue.route_name,
1404
1483
  unit: unit?.type
1405
1484
  }).then((res) => { this.preventSave = true; });
1406
1485
  });
1407
1486
  }
1408
1487
  else {
1409
1488
  this.coolMapService.removeRouteAndMarker(1);
1410
- this.utils.openSnackBar(res['status'], 'error');
1489
+ this.preventSave = true;
1490
+ this.utils.openSnackBar((res['status']
1491
+ ? res['status'] :
1492
+ 'Somthing went wrong, Please try different address.'), 'error');
1411
1493
  }
1412
1494
  if (this.routeId && isinitial)
1413
1495
  this.preventInitialSave = true;
@@ -1422,6 +1504,12 @@ class AddRouteComponent {
1422
1504
  if (this.addRouteForm.valid) {
1423
1505
  this.preventSave = false;
1424
1506
  const data = this.addRouteForm.getRawValue();
1507
+ if (this.config.repository === 'coolmap') {
1508
+ data.is_system_delivery = data.deliverySearchOtption === 'system' ? 1 : 0;
1509
+ data.is_system_pickup = data.pickUpSearchOption === 'system' ? 1 : 0;
1510
+ }
1511
+ delete data.pickUpSearchOption;
1512
+ delete data.deliverySearchOtption;
1425
1513
  const url = this.routeId ? this.utils.postdata('update/routes', data) : this.utils.postdata('add/routes', data);
1426
1514
  if (this.routeId)
1427
1515
  data['id'] = this.routeId;
@@ -1467,11 +1555,11 @@ class AddRouteComponent {
1467
1555
  this.destroyer$.unsubscribe();
1468
1556
  }
1469
1557
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddRouteComponent, deps: [{ token: i1.CoolmapService }, { token: i1.UtilsService }, { token: i1$1.MatDialog }, { token: 'memberData' }], target: i0.ɵɵFactoryTarget.Component });
1470
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.1", type: AddRouteComponent, selector: "app-add-route", inputs: { routeData: "routeData", customerRepoDetails: "customerRepoDetails" }, outputs: { changeNav: "changeNav", updateRouteList: "updateRouteList" }, viewQueries: [{ propertyName: "filterPickup", first: true, predicate: ["filterPickup"], descendants: true }, { propertyName: "filterDelivery", first: true, predicate: ["filterDelivery"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"addroutebox\">\n <div class=\"routedetailbox\" *ngIf=\"enablePopUp\">\n <div class=\"closebtnroutedetail\">\n <mat-icon (click)=\"prevantPopupClose = false; enablePopUp = false;\">clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'routeCard', repository: config['repository']}\" [popupData]=\"popupDetails\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{popupDetails['created_by_name']}} on {{popupDetails['created_at']}}\n </small>\n <button class=\"editbtn\" (click)=\"editEvent()\">Edit</button>\n </div>\n </div>\n <div class=\"add_add_route_box\" cdkDrag [style.visibility]=\"!enableForm ? 'hidden' : 'visible'\">\n <div class=\"topheadingprt\">\n <h2> {{routeId? 'EDIT' : 'ADD'}} ROUTE </h2>\n <div class=\"buttonprt\">\n <button *ngIf=\"routeId\" class=\"delbtn\" (click)=\"openDialog()\">Delete</button>\n <button mat-raised-button type=\"submit\" class=\"closebtn\" (click)=\"changeNav.next('Addroute')\">Close</button>\n </div>\n </div>\n <form [formGroup]=\"addRouteForm\">\n <div class=\"route_form_area\">\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Route Name</mat-label>\n <input matInput formControlName=\"route_name\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\">\n <mat-error *ngIf=\"addRouteForm.controls['route_name'].hasError('required')\">\n Route Name is required\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Customer name</mat-label>\n <input type=\"text\" placeholder=\"Customer Name\" matInput formControlName=\"customer_name\" [matAutocomplete]=\"auto\" (mousedown)=\"$event.stopPropagation()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let customer of customersList$ | async\" [value]=\"customer['customer_name']\">\n {{customer['customer_name']}}\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"addRouteForm.controls['customer_name'].hasError('required')\">\n Customer name is required.\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Pickup</mat-label>\n <input type=\"text\" \n placeholder=\"Search...\" matInput #filterPickup\n formControlName=\"pickup_location\" \n (mousedown)=\"$event.stopPropagation()\">\n </mat-form-field>\n <mat-error *ngIf=\"addRouteForm.controls['pickup_lat_lng'].touched && addRouteForm.controls['pickup_lat_lng'].hasError('required')\">\n Please select pickup location from the list.\n </mat-error>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Delivery</mat-label>\n <input type=\"text\" \n placeholder=\"Search...\"\n matInput #filterDelivery\n formControlName=\"delivery_location\" \n (mousedown)=\"$event.stopPropagation()\">\n </mat-form-field>\n <mat-error *ngIf=\"addRouteForm.controls['delivery_lat_lng'].touched && addRouteForm.controls['delivery_lat_lng'].hasError('required')\">\n Please select delivery location from the list.\n </mat-error>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Notes</mat-label>\n <textarea style=\"height: 18px; resize: none;\" matInput name=\"\" id=\"\" cols=\"30\" rows=\"10\" formControlName=\"note\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\"></textarea>\n <mat-error *ngIf=\"addRouteForm.controls['note'].hasError('maxlength')\">\n Notes should be within 2048 characters.\n </mat-error>\n </mat-form-field>\n </div>\n\n <div class=\"col-6 d-flex\">\n <div class=\"inputbox m-0\">\n <mat-form-field>\n <mat-label>Unit type</mat-label>\n <mat-select formControlName=\"unit_id\" (selectionChange)=\"checkAndFetchRouteInformation()\" (mousedown)=\"$event.stopPropagation()\">\n <mat-option *ngFor=\"let unit of unitsList\" [value]=\"unit?.id\"> {{unit?.type}} </mat-option>\n </mat-select>\n <mat-error *ngIf=\"addRouteForm.controls['unit_id'].hasError('required')\">\n Unit is required\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"col-6\">\n <app-estimation-display *ngIf=\"addRouteForm?.value?.pickup_lat_lng && addRouteForm?.value?.delivery_lat_lng\" [value]=\"addRouteForm['value']\"></app-estimation-display>\n </div>\n <div class=\"col-6\" *ngIf=\"addRouteForm['value']['trucker_pay_estimate'] && addRouteForm['value']['customer_price_estimate']\">\n <span *ngIf=\"config['repository'] !== 'customer'\" class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Trucker Pay Estimate - <b>{{'$'+ addRouteForm['value']['trucker_pay_estimate']}}</b>\n </span>\n <span class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Customer Price Estimate - <b>{{'$'+ addRouteForm['value']['customer_price_estimate']}}</b>\n </span>\n </div>\n <button mat-raised-button type=\"submit\" (click)=\"saveRoute()\" *ngIf=\"preventSave\"\n [disabled]=\"addRouteForm.invalid && preventSave || preventInitialSave\">{{routeId? 'Update' : 'Save'}}\n </button>\n <div class=\"loader\">\n <mat-spinner *ngIf=\"!preventSave\"></mat-spinner>\n </div>\n </div>\n </form>\n </div>\n</div>\n", styles: [".addroutebox{width:calc(100% - 340px);position:absolute;left:320px;bottom:10px;display:flex;justify-content:space-between;align-items:flex-start}.addroutebox .routedetailbox{max-width:300px;padding:10px;background-color:#fff;border-radius:20px;margin-right:20px}@media (min-width: 1600px){.addroutebox .routedetailbox{max-width:280px}}.addroutebox .editbtn{background:#326ad3;padding:10px 25px;color:#fff;font-size:.8125rem;border-radius:30px;float:right}.add_add_route_box{background:#fff;padding:10px 20px;border-radius:20px;box-shadow:2px 4px 4px 2px #00000024;height:370px;width:100%;position:relative;cursor:move}.add_add_route_box .route_form_area{display:flex;flex-wrap:wrap;justify-content:space-between}.add_add_route_box .route_form_area .col-6{width:48%;margin-top:10px;justify-content:space-between}.add_add_route_box .route_form_area .col-6 .inputbox{width:47%}.add_add_route_box .route_form_area .col-6 span{font-size:.875rem}.add_add_route_box .route_form_area button{background:#326ad3;padding:0 18px;color:#fff;font-size:.8125rem;border-radius:30px;position:absolute;right:18px;top:20px;height:35px}.closebtn{background:#000;color:#fff;border-radius:30px;padding:0 18px;margin-left:10px;height:35px}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px}.add_route_listingpart .listing_toggle{background:#fff;border-radius:15px;padding:8px 10px;position:absolute;right:10px;top:30px;cursor:pointer}.listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0 40px;opacity:0}.listing_box .closebtn{display:none}.show .listing_box{width:250px;max-width:250px;-webkit-box-flex:0;flex:0 0 250px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}@media (min-width: 1600px){.show .listing_box{width:320px;max-width:320px;-webkit-box-flex:0;flex:0 0 320px}}.show .listing_box h2{color:#fff;white-space:nowrap}.show .listing_box ul{padding:0 20px 0 0}.show .listing_box ul li{background:#4a4a4a;padding:15px;border-radius:15px;display:flex;margin-bottom:15px}.show .listing_box ul li .companayIcon{width:40px;height:40px;border-radius:10px;background:#fff;margin-right:10px;display:flex;justify-content:center;align-items:center}.show .listing_box ul li .company_cont{width:calc(100% - 50px)}.show .listing_box ul li .company_cont h3{color:#fff;font-size:15px;font-weight:400;margin:0;text-overflow:ellipsis;max-width:129px;-webkit-box-orient:vertical;white-space:nowrap;overflow:hidden}@media (min-width: 1600px){.show .listing_box ul li .company_cont h3{max-width:170px}}.show .listing_box ul li .company_cont p{color:#bcbcbc;font-size:12px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:16px}.show .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.loader{position:absolute;width:95%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.buttonprt{margin-right:83px}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}.routenotes{max-height:170px;overflow:auto}.estimate{margin-right:20px;font-size:.7rem}@media (min-width: 1600px){.estimate{font-size:.95rem}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: EstimationDisplayComponent, selector: "app-estimation-display", inputs: ["value"] }, { kind: "component", type: RouteInfoCardComponent, selector: "lib-route-info-card", inputs: ["popupData", "propData"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
1558
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.2.1", type: AddRouteComponent, selector: "app-add-route", inputs: { routeData: "routeData", customerRepoDetails: "customerRepoDetails" }, outputs: { changeNav: "changeNav", updateRouteList: "updateRouteList" }, viewQueries: [{ propertyName: "filterPickup", first: true, predicate: ["filterPickup"], descendants: true }, { propertyName: "filterDelivery", first: true, predicate: ["filterDelivery"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"addroutebox\">\n <div class=\"routedetailbox\" *ngIf=\"enablePopUp\">\n <div class=\"closebtnroutedetail\">\n <mat-icon (click)=\"prevantPopupClose = false; enablePopUp = false;\">clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'routeCard', repository: config['repository']}\" [popupData]=\"popupDetails\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{popupDetails['created_by_name']}} on {{popupDetails['created_at']}}\n </small>\n <button class=\"editbtn\" (click)=\"editEvent()\">Edit</button>\n </div>\n </div>\n <div class=\"add_add_route_box\" cdkDrag [style.visibility]=\"!enableForm ? 'hidden' : 'visible'\">\n <div class=\"topheadingprt\">\n <h2> {{routeId? 'EDIT' : 'ADD'}} ROUTE </h2>\n <div class=\"buttonprt\">\n <button *ngIf=\"routeId\" class=\"delbtn\" (click)=\"openDialog()\">Delete</button>\n <button mat-raised-button type=\"submit\" class=\"closebtn\" (click)=\"changeNav.next('Addroute')\">Close</button>\n </div>\n </div>\n <form [formGroup]=\"addRouteForm\">\n <div class=\"route_form_area\">\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Route Name</mat-label>\n <input matInput formControlName=\"route_name\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\">\n <mat-error *ngIf=\"addRouteForm.controls['route_name'].hasError('required')\">\n Route Name is required\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Customer name</mat-label>\n <input type=\"text\" placeholder=\"Customer Name\" matInput formControlName=\"customer_name\" [matAutocomplete]=\"auto\" (mousedown)=\"$event.stopPropagation()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let customer of customersList$ | async\" [value]=\"customer['customer_name']\">\n {{customer['customer_name']}}\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"addRouteForm.controls['customer_name'].hasError('required')\">\n Customer name is required.\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <div class=\"wrap-box\">\n @if (config.repository === 'coolmap') {\n <lib-searchoptiongroup \n (onUpdatePickUpSearchOption)=\"resetPickUpDelivery('pickup')\" \n [searchConfig]=\"{form: addRouteForm, controlname: 'pickUpSearchOption'}\"/>\n }\n <div class=\"col-12\">\n <mat-form-field>\n <mat-label>Pickup</mat-label>\n <input type=\"text\"\n [style.display]=\"isSystemPickup ? 'block' : 'none'\"\n placeholder=\"Search...\" matInput formControlName=\"pickup_location\"\n (mousedown)=\"$event.stopPropagation()\" [matAutocomplete]=\"autopickUpList\">\n <input type=\"text\"\n [style.display]=\"isSystemPickup ? 'none' : 'block'\"\n placeholder=\"Search...\" matInput \n formControlName=\"pickup_location\"\n (mousedown)=\"$event.stopPropagation()\"\n #filterPickup>\n <mat-autocomplete #autopickUpList=\"matAutocomplete\" class=\"list_panel\">\n <mat-option *ngFor=\"let name of pickupOptions | async\" \n [value]=\"name.formatted_address\"\n (onSelectionChange)=\"patchAddressValue(name, 'pickup')\">\n {{ name.formatted_address }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <mat-error\n *ngIf=\"addRouteForm.controls['pickup_lat_lng'].touched && addRouteForm.controls['pickup_lat_lng'].hasError('required')\">\n Please select pickup location from the list.\n </mat-error>\n </div>\n </div>\n </div>\n <div class=\"col-6\">\n <div class=\"wrap-box\">\n @if (config.repository === 'coolmap') {\n <lib-searchoptiongroup \n (onUpdatePickUpSearchOption)=\"resetPickUpDelivery('delivery')\"\n [searchConfig]=\"{form: addRouteForm, controlname: 'deliverySearchOtption'}\"/>\n }\n <div class=\"col-12\">\n <mat-form-field>\n <mat-label>Delivery</mat-label>\n @if (addRouteForm.get('deliverySearchOtption').value === 'system') {\n <input type=\"text\" placeholder=\"Search...\" matInput formControlName=\"delivery_location\"\n (mousedown)=\"$event.stopPropagation()\" [matAutocomplete]=\"autoDeliveryList\">\n }\n <input type=\"text\"\n [style.display]=\"addRouteForm.get('deliverySearchOtption').value === 'system' ? 'none' : 'block'\"\n placeholder=\"Search...\"\n matInput #filterDelivery\n formControlName=\"delivery_location\"\n (mousedown)=\"$event.stopPropagation()\">\n <mat-autocomplete #autoDeliveryList=\"matAutocomplete\" class=\"list_panel\">\n <mat-option *ngFor=\"let name of deliveryOptions | async\" \n [value]=\"name.formatted_address\"\n (onSelectionChange)=\"patchAddressValue(name, 'delivery')\">\n {{ name.formatted_address }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <mat-error *ngIf=\"addRouteForm.controls['delivery_lat_lng'].touched && addRouteForm.controls['delivery_lat_lng'].hasError('required')\">\n Please select delivery location from the list.\n </mat-error>\n </div>\n </div>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Notes</mat-label>\n <textarea style=\"height: 18px; resize: none;\" matInput name=\"\" id=\"\" cols=\"30\" rows=\"10\" formControlName=\"note\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\"></textarea>\n <mat-error *ngIf=\"addRouteForm.controls['note'].hasError('maxlength')\">\n Notes should be within 2048 characters.\n </mat-error>\n </mat-form-field>\n </div>\n\n <div class=\"col-6 d-flex\">\n <div class=\"inputbox m-0\">\n <mat-form-field>\n <mat-label>Unit type</mat-label>\n <mat-select formControlName=\"unit_id\" (selectionChange)=\"checkAndFetchRouteInformation()\" (mousedown)=\"$event.stopPropagation()\">\n <mat-option *ngFor=\"let unit of unitsList\" [value]=\"unit?.id\"> {{unit?.type}} </mat-option>\n </mat-select>\n <mat-error *ngIf=\"addRouteForm.controls['unit_id'].hasError('required')\">\n Unit is required\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"col-6\">\n <app-estimation-display *ngIf=\"addRouteForm?.value?.pickup_lat_lng && addRouteForm?.value?.delivery_lat_lng\" [value]=\"addRouteForm['value']\"></app-estimation-display>\n </div>\n <div class=\"col-6\" *ngIf=\"addRouteForm['value']['trucker_pay_estimate'] && addRouteForm['value']['customer_price_estimate']\">\n <span *ngIf=\"config['repository'] !== 'customer'\" class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Trucker Pay Estimate - <b>{{'$'+ addRouteForm['value']['trucker_pay_estimate']}}</b>\n </span>\n <span class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Customer Price Estimate - <b>{{'$'+ addRouteForm['value']['customer_price_estimate']}}</b>\n </span>\n </div>\n <button mat-raised-button type=\"submit\" (click)=\"saveRoute()\" *ngIf=\"preventSave\"\n [disabled]=\"addRouteForm.invalid && preventSave || preventInitialSave\">{{routeId? 'Update' : 'Save'}}\n </button>\n <div class=\"loader\">\n <mat-spinner *ngIf=\"!preventSave\"></mat-spinner>\n </div>\n </div>\n </form>\n </div>\n</div>\n", styles: [".addroutebox{width:calc(100% - 340px);position:absolute;left:320px;bottom:10px;display:flex;justify-content:space-between;align-items:flex-start}.addroutebox .routedetailbox{max-width:300px;padding:10px;background-color:#fff;border-radius:20px;margin-right:20px}@media (min-width: 1600px){.addroutebox .routedetailbox{max-width:280px}}.addroutebox .editbtn{background:#326ad3;padding:10px 25px;color:#fff;font-size:.8125rem;border-radius:30px;float:right}.add_add_route_box{background:#fff;padding:10px 20px;border-radius:20px;box-shadow:2px 4px 4px 2px #00000024;width:100%;position:relative;cursor:move}.add_add_route_box .route_form_area{display:flex;flex-wrap:wrap;justify-content:space-between}.add_add_route_box .route_form_area .col-6{width:48%;margin-top:10px;justify-content:space-between}.add_add_route_box .route_form_area .col-6 .inputbox{width:47%}.add_add_route_box .route_form_area .col-6 span{font-size:.875rem}.add_add_route_box .route_form_area button{background:#326ad3;padding:0 18px;color:#fff;font-size:.8125rem;border-radius:30px;position:absolute;right:18px;top:20px;height:35px}.closebtn{background:#000;color:#fff;border-radius:30px;padding:0 18px;margin-left:10px;height:35px}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px}.add_route_listingpart .listing_toggle{background:#fff;border-radius:15px;padding:8px 10px;position:absolute;right:10px;top:30px;cursor:pointer}.listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0 40px;opacity:0}.listing_box .closebtn{display:none}.show .listing_box{width:250px;max-width:250px;-webkit-box-flex:0;flex:0 0 250px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}@media (min-width: 1600px){.show .listing_box{width:320px;max-width:320px;-webkit-box-flex:0;flex:0 0 320px}}.show .listing_box h2{color:#fff;white-space:nowrap}.show .listing_box ul{padding:0 20px 0 0}.show .listing_box ul li{background:#4a4a4a;padding:15px;border-radius:15px;display:flex;margin-bottom:15px}.show .listing_box ul li .companayIcon{width:40px;height:40px;border-radius:10px;background:#fff;margin-right:10px;display:flex;justify-content:center;align-items:center}.show .listing_box ul li .company_cont{width:calc(100% - 50px)}.show .listing_box ul li .company_cont h3{color:#fff;font-size:15px;font-weight:400;margin:0;text-overflow:ellipsis;max-width:129px;-webkit-box-orient:vertical;white-space:nowrap;overflow:hidden}@media (min-width: 1600px){.show .listing_box ul li .company_cont h3{max-width:170px}}.show .listing_box ul li .company_cont p{color:#bcbcbc;font-size:12px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:16px}.show .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.loader{position:absolute;width:95%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.buttonprt{margin-right:83px}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}.routenotes{max-height:170px;overflow:auto}.estimate{margin-right:20px;font-size:.7rem}@media (min-width: 1600px){.estimate{font-size:.95rem}}.wrap-box{background:#f3f3f3;padding:10px 20px;border-radius:15px;border:1px solid #dadada;margin-bottom:20px}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i8$2.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i6.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i8$1.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i8$1.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i7$1.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i10.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: EstimationDisplayComponent, selector: "app-estimation-display", inputs: ["value"] }, { kind: "component", type: RouteInfoCardComponent, selector: "lib-route-info-card", inputs: ["popupData", "propData"] }, { kind: "component", type: SearchoptiongroupComponent, selector: "lib-searchoptiongroup", inputs: ["searchConfig"], outputs: ["onUpdatePickUpSearchOption"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
1471
1559
  }
1472
1560
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddRouteComponent, decorators: [{
1473
1561
  type: Component,
1474
- args: [{ selector: 'app-add-route', template: "<div class=\"addroutebox\">\n <div class=\"routedetailbox\" *ngIf=\"enablePopUp\">\n <div class=\"closebtnroutedetail\">\n <mat-icon (click)=\"prevantPopupClose = false; enablePopUp = false;\">clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'routeCard', repository: config['repository']}\" [popupData]=\"popupDetails\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{popupDetails['created_by_name']}} on {{popupDetails['created_at']}}\n </small>\n <button class=\"editbtn\" (click)=\"editEvent()\">Edit</button>\n </div>\n </div>\n <div class=\"add_add_route_box\" cdkDrag [style.visibility]=\"!enableForm ? 'hidden' : 'visible'\">\n <div class=\"topheadingprt\">\n <h2> {{routeId? 'EDIT' : 'ADD'}} ROUTE </h2>\n <div class=\"buttonprt\">\n <button *ngIf=\"routeId\" class=\"delbtn\" (click)=\"openDialog()\">Delete</button>\n <button mat-raised-button type=\"submit\" class=\"closebtn\" (click)=\"changeNav.next('Addroute')\">Close</button>\n </div>\n </div>\n <form [formGroup]=\"addRouteForm\">\n <div class=\"route_form_area\">\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Route Name</mat-label>\n <input matInput formControlName=\"route_name\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\">\n <mat-error *ngIf=\"addRouteForm.controls['route_name'].hasError('required')\">\n Route Name is required\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Customer name</mat-label>\n <input type=\"text\" placeholder=\"Customer Name\" matInput formControlName=\"customer_name\" [matAutocomplete]=\"auto\" (mousedown)=\"$event.stopPropagation()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let customer of customersList$ | async\" [value]=\"customer['customer_name']\">\n {{customer['customer_name']}}\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"addRouteForm.controls['customer_name'].hasError('required')\">\n Customer name is required.\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Pickup</mat-label>\n <input type=\"text\" \n placeholder=\"Search...\" matInput #filterPickup\n formControlName=\"pickup_location\" \n (mousedown)=\"$event.stopPropagation()\">\n </mat-form-field>\n <mat-error *ngIf=\"addRouteForm.controls['pickup_lat_lng'].touched && addRouteForm.controls['pickup_lat_lng'].hasError('required')\">\n Please select pickup location from the list.\n </mat-error>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Delivery</mat-label>\n <input type=\"text\" \n placeholder=\"Search...\"\n matInput #filterDelivery\n formControlName=\"delivery_location\" \n (mousedown)=\"$event.stopPropagation()\">\n </mat-form-field>\n <mat-error *ngIf=\"addRouteForm.controls['delivery_lat_lng'].touched && addRouteForm.controls['delivery_lat_lng'].hasError('required')\">\n Please select delivery location from the list.\n </mat-error>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Notes</mat-label>\n <textarea style=\"height: 18px; resize: none;\" matInput name=\"\" id=\"\" cols=\"30\" rows=\"10\" formControlName=\"note\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\"></textarea>\n <mat-error *ngIf=\"addRouteForm.controls['note'].hasError('maxlength')\">\n Notes should be within 2048 characters.\n </mat-error>\n </mat-form-field>\n </div>\n\n <div class=\"col-6 d-flex\">\n <div class=\"inputbox m-0\">\n <mat-form-field>\n <mat-label>Unit type</mat-label>\n <mat-select formControlName=\"unit_id\" (selectionChange)=\"checkAndFetchRouteInformation()\" (mousedown)=\"$event.stopPropagation()\">\n <mat-option *ngFor=\"let unit of unitsList\" [value]=\"unit?.id\"> {{unit?.type}} </mat-option>\n </mat-select>\n <mat-error *ngIf=\"addRouteForm.controls['unit_id'].hasError('required')\">\n Unit is required\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"col-6\">\n <app-estimation-display *ngIf=\"addRouteForm?.value?.pickup_lat_lng && addRouteForm?.value?.delivery_lat_lng\" [value]=\"addRouteForm['value']\"></app-estimation-display>\n </div>\n <div class=\"col-6\" *ngIf=\"addRouteForm['value']['trucker_pay_estimate'] && addRouteForm['value']['customer_price_estimate']\">\n <span *ngIf=\"config['repository'] !== 'customer'\" class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Trucker Pay Estimate - <b>{{'$'+ addRouteForm['value']['trucker_pay_estimate']}}</b>\n </span>\n <span class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Customer Price Estimate - <b>{{'$'+ addRouteForm['value']['customer_price_estimate']}}</b>\n </span>\n </div>\n <button mat-raised-button type=\"submit\" (click)=\"saveRoute()\" *ngIf=\"preventSave\"\n [disabled]=\"addRouteForm.invalid && preventSave || preventInitialSave\">{{routeId? 'Update' : 'Save'}}\n </button>\n <div class=\"loader\">\n <mat-spinner *ngIf=\"!preventSave\"></mat-spinner>\n </div>\n </div>\n </form>\n </div>\n</div>\n", styles: [".addroutebox{width:calc(100% - 340px);position:absolute;left:320px;bottom:10px;display:flex;justify-content:space-between;align-items:flex-start}.addroutebox .routedetailbox{max-width:300px;padding:10px;background-color:#fff;border-radius:20px;margin-right:20px}@media (min-width: 1600px){.addroutebox .routedetailbox{max-width:280px}}.addroutebox .editbtn{background:#326ad3;padding:10px 25px;color:#fff;font-size:.8125rem;border-radius:30px;float:right}.add_add_route_box{background:#fff;padding:10px 20px;border-radius:20px;box-shadow:2px 4px 4px 2px #00000024;height:370px;width:100%;position:relative;cursor:move}.add_add_route_box .route_form_area{display:flex;flex-wrap:wrap;justify-content:space-between}.add_add_route_box .route_form_area .col-6{width:48%;margin-top:10px;justify-content:space-between}.add_add_route_box .route_form_area .col-6 .inputbox{width:47%}.add_add_route_box .route_form_area .col-6 span{font-size:.875rem}.add_add_route_box .route_form_area button{background:#326ad3;padding:0 18px;color:#fff;font-size:.8125rem;border-radius:30px;position:absolute;right:18px;top:20px;height:35px}.closebtn{background:#000;color:#fff;border-radius:30px;padding:0 18px;margin-left:10px;height:35px}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px}.add_route_listingpart .listing_toggle{background:#fff;border-radius:15px;padding:8px 10px;position:absolute;right:10px;top:30px;cursor:pointer}.listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0 40px;opacity:0}.listing_box .closebtn{display:none}.show .listing_box{width:250px;max-width:250px;-webkit-box-flex:0;flex:0 0 250px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}@media (min-width: 1600px){.show .listing_box{width:320px;max-width:320px;-webkit-box-flex:0;flex:0 0 320px}}.show .listing_box h2{color:#fff;white-space:nowrap}.show .listing_box ul{padding:0 20px 0 0}.show .listing_box ul li{background:#4a4a4a;padding:15px;border-radius:15px;display:flex;margin-bottom:15px}.show .listing_box ul li .companayIcon{width:40px;height:40px;border-radius:10px;background:#fff;margin-right:10px;display:flex;justify-content:center;align-items:center}.show .listing_box ul li .company_cont{width:calc(100% - 50px)}.show .listing_box ul li .company_cont h3{color:#fff;font-size:15px;font-weight:400;margin:0;text-overflow:ellipsis;max-width:129px;-webkit-box-orient:vertical;white-space:nowrap;overflow:hidden}@media (min-width: 1600px){.show .listing_box ul li .company_cont h3{max-width:170px}}.show .listing_box ul li .company_cont p{color:#bcbcbc;font-size:12px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:16px}.show .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.loader{position:absolute;width:95%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.buttonprt{margin-right:83px}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}.routenotes{max-height:170px;overflow:auto}.estimate{margin-right:20px;font-size:.7rem}@media (min-width: 1600px){.estimate{font-size:.95rem}}\n"] }]
1562
+ args: [{ selector: 'app-add-route', template: "<div class=\"addroutebox\">\n <div class=\"routedetailbox\" *ngIf=\"enablePopUp\">\n <div class=\"closebtnroutedetail\">\n <mat-icon (click)=\"prevantPopupClose = false; enablePopUp = false;\">clear</mat-icon>\n </div>\n <lib-route-info-card [propData]=\"{className: 'routeCard', repository: config['repository']}\" [popupData]=\"popupDetails\"></lib-route-info-card>\n <div class=\"createTxt\">\n <small>\n Created by {{popupDetails['created_by_name']}} on {{popupDetails['created_at']}}\n </small>\n <button class=\"editbtn\" (click)=\"editEvent()\">Edit</button>\n </div>\n </div>\n <div class=\"add_add_route_box\" cdkDrag [style.visibility]=\"!enableForm ? 'hidden' : 'visible'\">\n <div class=\"topheadingprt\">\n <h2> {{routeId? 'EDIT' : 'ADD'}} ROUTE </h2>\n <div class=\"buttonprt\">\n <button *ngIf=\"routeId\" class=\"delbtn\" (click)=\"openDialog()\">Delete</button>\n <button mat-raised-button type=\"submit\" class=\"closebtn\" (click)=\"changeNav.next('Addroute')\">Close</button>\n </div>\n </div>\n <form [formGroup]=\"addRouteForm\">\n <div class=\"route_form_area\">\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Route Name</mat-label>\n <input matInput formControlName=\"route_name\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\">\n <mat-error *ngIf=\"addRouteForm.controls['route_name'].hasError('required')\">\n Route Name is required\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Customer name</mat-label>\n <input type=\"text\" placeholder=\"Customer Name\" matInput formControlName=\"customer_name\" [matAutocomplete]=\"auto\" (mousedown)=\"$event.stopPropagation()\">\n <mat-autocomplete autoActiveFirstOption #auto=\"matAutocomplete\">\n <mat-option *ngFor=\"let customer of customersList$ | async\" [value]=\"customer['customer_name']\">\n {{customer['customer_name']}}\n </mat-option>\n </mat-autocomplete>\n <mat-error *ngIf=\"addRouteForm.controls['customer_name'].hasError('required')\">\n Customer name is required.\n </mat-error>\n </mat-form-field>\n </div>\n <div class=\"col-6\">\n <div class=\"wrap-box\">\n @if (config.repository === 'coolmap') {\n <lib-searchoptiongroup \n (onUpdatePickUpSearchOption)=\"resetPickUpDelivery('pickup')\" \n [searchConfig]=\"{form: addRouteForm, controlname: 'pickUpSearchOption'}\"/>\n }\n <div class=\"col-12\">\n <mat-form-field>\n <mat-label>Pickup</mat-label>\n <input type=\"text\"\n [style.display]=\"isSystemPickup ? 'block' : 'none'\"\n placeholder=\"Search...\" matInput formControlName=\"pickup_location\"\n (mousedown)=\"$event.stopPropagation()\" [matAutocomplete]=\"autopickUpList\">\n <input type=\"text\"\n [style.display]=\"isSystemPickup ? 'none' : 'block'\"\n placeholder=\"Search...\" matInput \n formControlName=\"pickup_location\"\n (mousedown)=\"$event.stopPropagation()\"\n #filterPickup>\n <mat-autocomplete #autopickUpList=\"matAutocomplete\" class=\"list_panel\">\n <mat-option *ngFor=\"let name of pickupOptions | async\" \n [value]=\"name.formatted_address\"\n (onSelectionChange)=\"patchAddressValue(name, 'pickup')\">\n {{ name.formatted_address }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <mat-error\n *ngIf=\"addRouteForm.controls['pickup_lat_lng'].touched && addRouteForm.controls['pickup_lat_lng'].hasError('required')\">\n Please select pickup location from the list.\n </mat-error>\n </div>\n </div>\n </div>\n <div class=\"col-6\">\n <div class=\"wrap-box\">\n @if (config.repository === 'coolmap') {\n <lib-searchoptiongroup \n (onUpdatePickUpSearchOption)=\"resetPickUpDelivery('delivery')\"\n [searchConfig]=\"{form: addRouteForm, controlname: 'deliverySearchOtption'}\"/>\n }\n <div class=\"col-12\">\n <mat-form-field>\n <mat-label>Delivery</mat-label>\n @if (addRouteForm.get('deliverySearchOtption').value === 'system') {\n <input type=\"text\" placeholder=\"Search...\" matInput formControlName=\"delivery_location\"\n (mousedown)=\"$event.stopPropagation()\" [matAutocomplete]=\"autoDeliveryList\">\n }\n <input type=\"text\"\n [style.display]=\"addRouteForm.get('deliverySearchOtption').value === 'system' ? 'none' : 'block'\"\n placeholder=\"Search...\"\n matInput #filterDelivery\n formControlName=\"delivery_location\"\n (mousedown)=\"$event.stopPropagation()\">\n <mat-autocomplete #autoDeliveryList=\"matAutocomplete\" class=\"list_panel\">\n <mat-option *ngFor=\"let name of deliveryOptions | async\" \n [value]=\"name.formatted_address\"\n (onSelectionChange)=\"patchAddressValue(name, 'delivery')\">\n {{ name.formatted_address }}\n </mat-option>\n </mat-autocomplete>\n </mat-form-field>\n <mat-error *ngIf=\"addRouteForm.controls['delivery_lat_lng'].touched && addRouteForm.controls['delivery_lat_lng'].hasError('required')\">\n Please select delivery location from the list.\n </mat-error>\n </div>\n </div>\n </div>\n <div class=\"col-6\">\n <mat-form-field>\n <mat-label>Notes</mat-label>\n <textarea style=\"height: 18px; resize: none;\" matInput name=\"\" id=\"\" cols=\"30\" rows=\"10\" formControlName=\"note\" autocomplete=\"nope\" (mousedown)=\"$event.stopPropagation()\"></textarea>\n <mat-error *ngIf=\"addRouteForm.controls['note'].hasError('maxlength')\">\n Notes should be within 2048 characters.\n </mat-error>\n </mat-form-field>\n </div>\n\n <div class=\"col-6 d-flex\">\n <div class=\"inputbox m-0\">\n <mat-form-field>\n <mat-label>Unit type</mat-label>\n <mat-select formControlName=\"unit_id\" (selectionChange)=\"checkAndFetchRouteInformation()\" (mousedown)=\"$event.stopPropagation()\">\n <mat-option *ngFor=\"let unit of unitsList\" [value]=\"unit?.id\"> {{unit?.type}} </mat-option>\n </mat-select>\n <mat-error *ngIf=\"addRouteForm.controls['unit_id'].hasError('required')\">\n Unit is required\n </mat-error>\n </mat-form-field>\n </div>\n </div>\n <div class=\"col-6\">\n <app-estimation-display *ngIf=\"addRouteForm?.value?.pickup_lat_lng && addRouteForm?.value?.delivery_lat_lng\" [value]=\"addRouteForm['value']\"></app-estimation-display>\n </div>\n <div class=\"col-6\" *ngIf=\"addRouteForm['value']['trucker_pay_estimate'] && addRouteForm['value']['customer_price_estimate']\">\n <span *ngIf=\"config['repository'] !== 'customer'\" class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Trucker Pay Estimate - <b>{{'$'+ addRouteForm['value']['trucker_pay_estimate']}}</b>\n </span>\n <span class=\"estimate\" (mousedown)=\"$event.stopPropagation()\">\n Customer Price Estimate - <b>{{'$'+ addRouteForm['value']['customer_price_estimate']}}</b>\n </span>\n </div>\n <button mat-raised-button type=\"submit\" (click)=\"saveRoute()\" *ngIf=\"preventSave\"\n [disabled]=\"addRouteForm.invalid && preventSave || preventInitialSave\">{{routeId? 'Update' : 'Save'}}\n </button>\n <div class=\"loader\">\n <mat-spinner *ngIf=\"!preventSave\"></mat-spinner>\n </div>\n </div>\n </form>\n </div>\n</div>\n", styles: [".addroutebox{width:calc(100% - 340px);position:absolute;left:320px;bottom:10px;display:flex;justify-content:space-between;align-items:flex-start}.addroutebox .routedetailbox{max-width:300px;padding:10px;background-color:#fff;border-radius:20px;margin-right:20px}@media (min-width: 1600px){.addroutebox .routedetailbox{max-width:280px}}.addroutebox .editbtn{background:#326ad3;padding:10px 25px;color:#fff;font-size:.8125rem;border-radius:30px;float:right}.add_add_route_box{background:#fff;padding:10px 20px;border-radius:20px;box-shadow:2px 4px 4px 2px #00000024;width:100%;position:relative;cursor:move}.add_add_route_box .route_form_area{display:flex;flex-wrap:wrap;justify-content:space-between}.add_add_route_box .route_form_area .col-6{width:48%;margin-top:10px;justify-content:space-between}.add_add_route_box .route_form_area .col-6 .inputbox{width:47%}.add_add_route_box .route_form_area .col-6 span{font-size:.875rem}.add_add_route_box .route_form_area button{background:#326ad3;padding:0 18px;color:#fff;font-size:.8125rem;border-radius:30px;position:absolute;right:18px;top:20px;height:35px}.closebtn{background:#000;color:#fff;border-radius:30px;padding:0 18px;margin-left:10px;height:35px}.delbtn{background:red;color:#fff;border-radius:30px;padding:10px 18px}.add_route_listingpart .listing_toggle{background:#fff;border-radius:15px;padding:8px 10px;position:absolute;right:10px;top:30px;cursor:pointer}.listing_box{background:#282828;height:100vh;position:fixed;right:0;top:0;z-index:1111;box-shadow:-3px 0 5px #ffffff14;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;width:0;border-radius:40px 0 0 40px;opacity:0}.listing_box .closebtn{display:none}.show .listing_box{width:250px;max-width:250px;-webkit-box-flex:0;flex:0 0 250px;transition:.5s;-webkit-transition:.5s;-moz-transition:.5s;padding:40px 0 40px 20px;opacity:1}@media (min-width: 1600px){.show .listing_box{width:320px;max-width:320px;-webkit-box-flex:0;flex:0 0 320px}}.show .listing_box h2{color:#fff;white-space:nowrap}.show .listing_box ul{padding:0 20px 0 0}.show .listing_box ul li{background:#4a4a4a;padding:15px;border-radius:15px;display:flex;margin-bottom:15px}.show .listing_box ul li .companayIcon{width:40px;height:40px;border-radius:10px;background:#fff;margin-right:10px;display:flex;justify-content:center;align-items:center}.show .listing_box ul li .company_cont{width:calc(100% - 50px)}.show .listing_box ul li .company_cont h3{color:#fff;font-size:15px;font-weight:400;margin:0;text-overflow:ellipsis;max-width:129px;-webkit-box-orient:vertical;white-space:nowrap;overflow:hidden}@media (min-width: 1600px){.show .listing_box ul li .company_cont h3{max-width:170px}}.show .listing_box ul li .company_cont p{color:#bcbcbc;font-size:12px;margin:5px 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:16px}.show .closebtn{position:absolute;left:-33px;top:50px;background:#282828;color:#fff;padding:8px;border-top-left-radius:15px;border-bottom-left-radius:15px;cursor:pointer;box-shadow:-4px 2px 5px #ffffff14;display:block}.loader{position:absolute;width:95%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.buttonprt{margin-right:83px}.closebtnroutedetail{box-shadow:0 0 5px #0000001c;border-radius:100%;width:30px;height:30px;display:flex;justify-content:center;align-items:center;cursor:pointer;background:#fff;position:absolute;top:-11px;left:-11px}.routenotes{max-height:170px;overflow:auto}.estimate{margin-right:20px;font-size:.7rem}@media (min-width: 1600px){.estimate{font-size:.95rem}}.wrap-box{background:#f3f3f3;padding:10px 20px;border-radius:15px;border:1px solid #dadada;margin-bottom:20px}\n"] }]
1475
1563
  }], ctorParameters: () => [{ type: i1.CoolmapService }, { type: i1.UtilsService }, { type: i1$1.MatDialog }, { type: i1.CoolmapConfigModel, decorators: [{
1476
1564
  type: Inject,
1477
1565
  args: ['memberData']
@@ -1514,7 +1602,8 @@ class CoolmapModule {
1514
1602
  DialogComponent,
1515
1603
  AddRouteComponent,
1516
1604
  EstimationDisplayComponent,
1517
- RouteInfoCardComponent], imports: [CommonModule,
1605
+ RouteInfoCardComponent,
1606
+ SearchoptiongroupComponent], imports: [CommonModule,
1518
1607
  MatSnackBarModule,
1519
1608
  MatSidenavModule,
1520
1609
  DragDropModule,
@@ -1534,7 +1623,8 @@ class CoolmapModule {
1534
1623
  MatPseudoCheckboxModule,
1535
1624
  MatButtonModule,
1536
1625
  MatProgressBarModule,
1537
- ScrollingModule], exports: [MapComponent,
1626
+ ScrollingModule,
1627
+ MatRadioModule], exports: [MapComponent,
1538
1628
  NavComponent,
1539
1629
  AddRouteNavComponent,
1540
1630
  JobCodeNavComponent,
@@ -1568,7 +1658,8 @@ class CoolmapModule {
1568
1658
  MatPseudoCheckboxModule,
1569
1659
  MatButtonModule,
1570
1660
  MatProgressBarModule,
1571
- ScrollingModule] });
1661
+ ScrollingModule,
1662
+ MatRadioModule] });
1572
1663
  }
1573
1664
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CoolmapModule, decorators: [{
1574
1665
  type: NgModule,
@@ -1589,7 +1680,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
1589
1680
  DialogComponent,
1590
1681
  AddRouteComponent,
1591
1682
  EstimationDisplayComponent,
1592
- RouteInfoCardComponent
1683
+ RouteInfoCardComponent,
1684
+ SearchoptiongroupComponent
1593
1685
  ],
1594
1686
  imports: [
1595
1687
  CommonModule,
@@ -1612,7 +1704,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
1612
1704
  MatPseudoCheckboxModule,
1613
1705
  MatButtonModule,
1614
1706
  MatProgressBarModule,
1615
- ScrollingModule
1707
+ ScrollingModule,
1708
+ MatRadioModule
1616
1709
  ],
1617
1710
  exports: [
1618
1711
  MapComponent,