@aggdirect/coolmap 2.8.6 → 2.8.8

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,21 @@ class AddRouteComponent {
1360
1427
  customer_name: this.customerRepoDetails.customer.name,
1361
1428
  });
1362
1429
  }
1430
+ else {
1431
+ setTimeout(() => {
1432
+ this.addRouteForm.patchValue({
1433
+ pickUpSearchOption: (!data || data.is_system_pickup) ? 'system' : 'google',
1434
+ deliverySearchOtption: (!data || data.is_system_delivery) ? 'system' : 'google',
1435
+ });
1436
+ }, 100);
1437
+ }
1363
1438
  this.routeId = data?.route_id;
1364
- this.routeDetails = data ? { pickup_location: data.pickup_location, delivery_location: data.delivery_location } : null;
1439
+ this.routeDetails = data
1440
+ ? {
1441
+ pickup_location: data.pickup_location,
1442
+ delivery_location: data.delivery_location,
1443
+ }
1444
+ : null;
1365
1445
  this.addRouteForm.valueChanges.pipe(takeUntil(this.destroyer$)).subscribe(res => {
1366
1446
  if (res) {
1367
1447
  if (this.preventInitialSave)
@@ -1397,17 +1477,21 @@ class AddRouteComponent {
1397
1477
  };
1398
1478
  this.coolMapService.removeRouteAndMarker(1).then(() => {
1399
1479
  const unit = this.unitsList.find((x) => x.id === this.addRouteForm.value.unit_id);
1480
+ const rawFormvalue = this.addRouteForm.getRawValue();
1400
1481
  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,
1482
+ pickup_location: rawFormvalue.pickup_location,
1483
+ delivery_location: rawFormvalue.delivery_location,
1484
+ route_name: rawFormvalue.route_name,
1404
1485
  unit: unit?.type
1405
1486
  }).then((res) => { this.preventSave = true; });
1406
1487
  });
1407
1488
  }
1408
1489
  else {
1409
1490
  this.coolMapService.removeRouteAndMarker(1);
1410
- this.utils.openSnackBar(res['status'], 'error');
1491
+ this.preventSave = true;
1492
+ this.utils.openSnackBar((res['status']
1493
+ ? res['status'] :
1494
+ 'Somthing went wrong, Please try different address.'), 'error');
1411
1495
  }
1412
1496
  if (this.routeId && isinitial)
1413
1497
  this.preventInitialSave = true;
@@ -1422,6 +1506,12 @@ class AddRouteComponent {
1422
1506
  if (this.addRouteForm.valid) {
1423
1507
  this.preventSave = false;
1424
1508
  const data = this.addRouteForm.getRawValue();
1509
+ if (this.config.repository === 'coolmap') {
1510
+ data.is_system_delivery = data.deliverySearchOtption === 'system' ? 1 : 0;
1511
+ data.is_system_pickup = data.pickUpSearchOption === 'system' ? 1 : 0;
1512
+ }
1513
+ delete data.pickUpSearchOption;
1514
+ delete data.deliverySearchOtption;
1425
1515
  const url = this.routeId ? this.utils.postdata('update/routes', data) : this.utils.postdata('add/routes', data);
1426
1516
  if (this.routeId)
1427
1517
  data['id'] = this.routeId;
@@ -1467,11 +1557,11 @@ class AddRouteComponent {
1467
1557
  this.destroyer$.unsubscribe();
1468
1558
  }
1469
1559
  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" }] });
1560
+ 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-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 </mat-form-field>\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-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 </mat-form-field>\n\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
1561
  }
1472
1562
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AddRouteComponent, decorators: [{
1473
1563
  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"] }]
1564
+ 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-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 </mat-form-field>\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-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 </mat-form-field>\n\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
1565
  }], ctorParameters: () => [{ type: i1.CoolmapService }, { type: i1.UtilsService }, { type: i1$1.MatDialog }, { type: i1.CoolmapConfigModel, decorators: [{
1476
1566
  type: Inject,
1477
1567
  args: ['memberData']
@@ -1514,7 +1604,8 @@ class CoolmapModule {
1514
1604
  DialogComponent,
1515
1605
  AddRouteComponent,
1516
1606
  EstimationDisplayComponent,
1517
- RouteInfoCardComponent], imports: [CommonModule,
1607
+ RouteInfoCardComponent,
1608
+ SearchoptiongroupComponent], imports: [CommonModule,
1518
1609
  MatSnackBarModule,
1519
1610
  MatSidenavModule,
1520
1611
  DragDropModule,
@@ -1534,7 +1625,8 @@ class CoolmapModule {
1534
1625
  MatPseudoCheckboxModule,
1535
1626
  MatButtonModule,
1536
1627
  MatProgressBarModule,
1537
- ScrollingModule], exports: [MapComponent,
1628
+ ScrollingModule,
1629
+ MatRadioModule], exports: [MapComponent,
1538
1630
  NavComponent,
1539
1631
  AddRouteNavComponent,
1540
1632
  JobCodeNavComponent,
@@ -1568,7 +1660,8 @@ class CoolmapModule {
1568
1660
  MatPseudoCheckboxModule,
1569
1661
  MatButtonModule,
1570
1662
  MatProgressBarModule,
1571
- ScrollingModule] });
1663
+ ScrollingModule,
1664
+ MatRadioModule] });
1572
1665
  }
1573
1666
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: CoolmapModule, decorators: [{
1574
1667
  type: NgModule,
@@ -1589,7 +1682,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
1589
1682
  DialogComponent,
1590
1683
  AddRouteComponent,
1591
1684
  EstimationDisplayComponent,
1592
- RouteInfoCardComponent
1685
+ RouteInfoCardComponent,
1686
+ SearchoptiongroupComponent
1593
1687
  ],
1594
1688
  imports: [
1595
1689
  CommonModule,
@@ -1612,7 +1706,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImpor
1612
1706
  MatPseudoCheckboxModule,
1613
1707
  MatButtonModule,
1614
1708
  MatProgressBarModule,
1615
- ScrollingModule
1709
+ ScrollingModule,
1710
+ MatRadioModule
1616
1711
  ],
1617
1712
  exports: [
1618
1713
  MapComponent,