1 | {"ast":null,"code":"import { FormControl } from '@angular/forms';\nimport { forkJoin, Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\nimport { City } from '../_models/city';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"../_services/city.service\";\nimport * as i2 from \"../_services/location.service\";\nimport * as i3 from \"../_services/region.service\";\nimport * as i4 from \"@angular/router\";\nimport * as i5 from \"@angular/forms\";\nimport * as i6 from \"@angular/material/form-field\";\nimport * as i7 from \"@angular/material/input\";\nimport * as i8 from \"@angular/material/autocomplete\";\nimport * as i9 from \"@angular/common\";\nimport * as i10 from \"primeng/button\";\nimport * as i11 from \"@angular/material/core\";\n\nfunction ExploreComponent_mat_option_18_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n\n i0.ɵɵelementStart(0, \"mat-option\", 14);\n i0.ɵɵlistener(\"click\", function ExploreComponent_mat_option_18_Template_mat_option_click_0_listener() {\n i0.ɵɵrestoreView(_r4);\n const ctx_r3 = i0.ɵɵnextContext();\n return ctx_r3.onPlaceSelected(ctx_r3.selectedPlace);\n });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const option_r2 = ctx.$implicit;\n i0.ɵɵproperty(\"value\", option_r2);\n i0.ɵɵadvance(1);\n i0.ɵɵtextInterpolate1(\" \", option_r2.name, \" \");\n }\n}\n\nexport class ExploreComponent {\n constructor(cityService, locationService, regionService, router) {\n this.cityService = cityService;\n this.locationService = locationService;\n this.regionService = regionService;\n this.router = router;\n this.loading = [false, false, false, false];\n this.regions = [];\n this.filteredOptions = new Observable();\n this.myControl = new FormControl();\n this.cityName = '';\n this.selectedPlace = new City();\n this.mergedPlaces = [];\n this.cities = [];\n this.text = '';\n }\n\n ngOnInit() {\n this.cityService.getAllCities().subscribe(cities => {\n this.cities = cities;\n });\n this.regionService.getAllRegions().subscribe(regions => {\n this.regions = regions;\n });\n forkJoin( // as of RxJS 6.5+ we can use a dictionary of sources\n {\n cities: this.cities,\n regions: this.regions\n }).subscribe(({\n cities,\n regions\n }) => {\n this.ci;\n });\n this.filteredOptions = this.myControl.valueChanges.pipe(startWith(''), map(value => typeof value === 'string' ? value : value.name), map(name => name ? this._filter(name) : this.cities.slice()));\n }\n\n displayFn(city) {\n return city && city.name ? city.name : '';\n }\n\n _filter(name) {\n const filterValue = name.toLowerCase();\n return this.cities.filter(option => option.name.toLowerCase().includes(filterValue));\n }\n\n load(index) {\n this.loading[index] = true;\n setTimeout(() => this.loading[index] = false, 1000);\n console.log(this.selectedPlace.name);\n this.locationService.getAllLocationsSearch(this.selectedPlace.name).subscribe(data => {\n console.log(data);\n this.router.navigate(['results'], {\n queryParams: {\n place: this.selectedPlace.name\n }\n });\n });\n }\n\n onPlaceSelected(selectedPlace) {\n console.log(this.selectedPlace.name); // get from view \n }\n\n}\n\nExploreComponent.ɵfac = function ExploreComponent_Factory(t) {\n return new (t || ExploreComponent)(i0.ɵɵdirectiveInject(i1.CityService), i0.ɵɵdirectiveInject(i2.LocationService), i0.ɵɵdirectiveInject(i3.RegionService), i0.ɵɵdirectiveInject(i4.Router));\n};\n\nExploreComponent.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: ExploreComponent,\n selectors: [[\"app-explore\"]],\n decls: 21,\n vars: 8,\n consts: [[\"href\", \"https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css\", \"rel\", \"stylesheet\", \"integrity\", \"sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x\", \"crossorigin\", \"anonymous\"], [\"lang\", \"en\"], [\"charset\", \"utf-8\"], [1, \"navbar\", \"navbar-expand-sm\"], [1, \"navbar-brand\"], [1, \"navbar-nav\", \"ml-auto\"], [1, \"nav-item\"], [1, \"example-form\"], [\"appearance\", \"fill\", 1, \"example-full-width\"], [\"type\", \"text\", \"matInput\", \"\", 3, \"formControl\", \"matAutocomplete\", \"ngModel\", \"ngModelChange\"], [3, \"displayWith\"], [\"auto\", \"matAutocomplete\"], [3, \"value\", \"click\", 4, \"ngFor\", \"ngForOf\"], [\"label\", \"Search\", \"icon\", \"pi pi-search\", \"id\", \"button\", 3, \"loading\", \"click\"], [3, \"value\", \"click\"]],\n template: function ExploreComponent_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"link\", 0);\n i0.ɵɵelementStart(1, \"html\", 1);\n i0.ɵɵelementStart(2, \"head\");\n i0.ɵɵelement(3, \"meta\", 2);\n i0.ɵɵelementStart(4, \"title\");\n i0.ɵɵtext(5, \"Explore\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"body\");\n i0.ɵɵelementStart(7, \"header\");\n i0.ɵɵelementStart(8, \"nav\", 3);\n i0.ɵɵelementStart(9, \"strong\", 4);\n i0.ɵɵtext(10, \"Trivia Trip\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(11, \"ul\", 5);\n i0.ɵɵelementStart(12, \"li\", 6);\n i0.ɵɵelementStart(13, \"form\", 7);\n i0.ɵɵelementStart(14, \"mat-form-field\", 8);\n i0.ɵɵelementStart(15, \"input\", 9);\n i0.ɵɵlistener(\"ngModelChange\", function ExploreComponent_Template_input_ngModelChange_15_listener($event) {\n return ctx.selectedPlace = $event;\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(16, \"mat-autocomplete\", 10, 11);\n i0.ɵɵtemplate(18, ExploreComponent_mat_option_18_Template, 2, 2, \"mat-option\", 12);\n i0.ɵɵpipe(19, \"async\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(20, \"p-button\", 13);\n i0.ɵɵlistener(\"click\", function ExploreComponent_Template_p_button_click_20_listener() {\n return ctx.load(0);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const _r0 = i0.ɵɵreference(17);\n\n i0.ɵɵadvance(15);\n i0.ɵɵproperty(\"formControl\", ctx.myControl)(\"matAutocomplete\", _r0)(\"ngModel\", ctx.selectedPlace);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"displayWith\", ctx.displayFn);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", i0.ɵɵpipeBind1(19, 6, ctx.filteredOptions));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"loading\", ctx.loading[0]);\n }\n },\n directives: [i5.ɵNgNoValidate, i5.NgControlStatusGroup, i5.NgForm, i6.MatFormField, i7.MatInput, i5.DefaultValueAccessor, i8.MatAutocompleteTrigger, i5.NgControlStatus, i5.FormControlDirective, i8.MatAutocomplete, i9.NgForOf, i10.Button, i11.MatOption],\n pipes: [i9.AsyncPipe],\n styles: [\"#button[_ngcontent-%COMP%]{\\r\\n margin-left: 20px;\\r\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4cGxvcmUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJleHBsb3JlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjYnV0dG9ue1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn0iXX0= */\"]\n});","map":{"version":3,"sources":["C:/Users/DELL/Desktop/bachelor-thesis/trip-planner-front/src/app/explore/explore.component.ts"],"names":["FormControl","forkJoin","Observable","map","startWith","City","i0","i1","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","ExploreComponent_mat_option_18_Template","rf","ctx","_r4","ɵɵgetCurrentView","ɵɵelementStart","ɵɵlistener","ExploreComponent_mat_option_18_Template_mat_option_click_0_listener","ɵɵrestoreView","ctx_r3","ɵɵnextContext","onPlaceSelected","selectedPlace","ɵɵtext","ɵɵelementEnd","option_r2","$implicit","ɵɵproperty","ɵɵadvance","ɵɵtextInterpolate1","name","ExploreComponent","constructor","cityService","locationService","regionService","router","loading","regions","filteredOptions","myControl","cityName","mergedPlaces","cities","text","ngOnInit","getAllCities","subscribe","getAllRegions","ci","valueChanges","pipe","value","_filter","slice","displayFn","city","filterValue","toLowerCase","filter","option","includes","load","index","setTimeout","console","log","getAllLocationsSearch","data","navigate","queryParams","place","ɵfac","ExploreComponent_Factory","t","ɵɵdirectiveInject","CityService","LocationService","RegionService","Router","ɵcmp","ɵɵdefineComponent","type","selectors","decls","vars","consts","template","ExploreComponent_Template","ɵɵelement","ExploreComponent_Template_input_ngModelChange_15_listener","$event","ɵɵtemplate","ɵɵpipe","ExploreComponent_Template_p_button_click_20_listener","_r0","ɵɵreference","ɵɵpipeBind1","directives","ɵNgNoValidate","NgControlStatusGroup","NgForm","MatFormField","MatInput","DefaultValueAccessor","MatAutocompleteTrigger","NgControlStatus","FormControlDirective","MatAutocomplete","NgForOf","Button","MatOption","pipes","AsyncPipe","styles"],"mappings":"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","sourcesContent":["import { FormControl } from '@angular/forms';\r\nimport { forkJoin, Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\r\nimport { City } from '../_models/city';\r\nimport * as i0 from \"@angular/core\";\r\nimport * as i1 from \"../_services/city.service\";\r\nimport * as i2 from \"../_services/location.service\";\r\nimport * as i3 from \"../_services/region.service\";\r\nimport * as i4 from \"@angular/router\";\r\nimport * as i5 from \"@angular/forms\";\r\nimport * as i6 from \"@angular/material/form-field\";\r\nimport * as i7 from \"@angular/material/input\";\r\nimport * as i8 from \"@angular/material/autocomplete\";\r\nimport * as i9 from \"@angular/common\";\r\nimport * as i10 from \"primeng/button\";\r\nimport * as i11 from \"@angular/material/core\";\r\nfunction ExploreComponent_mat_option_18_Template(rf, ctx) { if (rf & 1) {\r\n const _r4 = i0.ɵɵgetCurrentView();\r\n i0.ɵɵelementStart(0, \"mat-option\", 14);\r\n i0.ɵɵlistener(\"click\", function ExploreComponent_mat_option_18_Template_mat_option_click_0_listener() { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(); return ctx_r3.onPlaceSelected(ctx_r3.selectedPlace); });\r\n i0.ɵɵtext(1);\r\n i0.ɵɵelementEnd();\r\n} if (rf & 2) {\r\n const option_r2 = ctx.$implicit;\r\n i0.ɵɵproperty(\"value\", option_r2);\r\n i0.ɵɵadvance(1);\r\n i0.ɵɵtextInterpolate1(\" \", option_r2.name, \" \");\r\n} }\r\nexport class ExploreComponent {\r\n constructor(cityService, locationService, regionService, router) {\r\n this.cityService = cityService;\r\n this.locationService = locationService;\r\n this.regionService = regionService;\r\n this.router = router;\r\n this.loading = [false, false, false, false];\r\n this.regions = [];\r\n this.filteredOptions = new Observable();\r\n this.myControl = new FormControl();\r\n this.cityName = '';\r\n this.selectedPlace = new City();\r\n this.mergedPlaces = [];\r\n this.cities = [];\r\n this.text = '';\r\n }\r\n ngOnInit() {\r\n this.cityService.getAllCities().subscribe(cities => {\r\n this.cities = cities;\r\n });\r\n this.regionService.getAllRegions().subscribe(regions => {\r\n this.regions = regions;\r\n });\r\n forkJoin(\r\n // as of RxJS 6.5+ we can use a dictionary of sources\r\n {\r\n cities: this.cities,\r\n regions: this.regions\r\n }).subscribe(({ cities, regions }) => {\r\n this.ci;\r\n });\r\n this.filteredOptions = this.myControl.valueChanges.pipe(startWith(''), map(value => (typeof value === 'string' ? value : value.name)), map(name => (name ? this._filter(name) : this.cities.slice())));\r\n }\r\n displayFn(city) {\r\n return city && city.name ? city.name : '';\r\n }\r\n _filter(name) {\r\n const filterValue = name.toLowerCase();\r\n return this.cities.filter(option => option.name.toLowerCase().includes(filterValue));\r\n }\r\n load(index) {\r\n this.loading[index] = true;\r\n setTimeout(() => this.loading[index] = false, 1000);\r\n console.log(this.selectedPlace.name);\r\n this.locationService.getAllLocationsSearch(this.selectedPlace.name).subscribe(data => {\r\n console.log(data);\r\n this.router.navigate(['results'], { queryParams: { place: this.selectedPlace.name } });\r\n });\r\n }\r\n onPlaceSelected(selectedPlace) {\r\n console.log(this.selectedPlace.name); // get from view \r\n }\r\n}\r\nExploreComponent.ɵfac = function ExploreComponent_Factory(t) { return new (t || ExploreComponent)(i0.ɵɵdirectiveInject(i1.CityService), i0.ɵɵdirectiveInject(i2.LocationService), i0.ɵɵdirectiveInject(i3.RegionService), i0.ɵɵdirectiveInject(i4.Router)); };\r\nExploreComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExploreComponent, selectors: [[\"app-explore\"]], decls: 21, vars: 8, consts: [[\"href\", \"https://cdn.jsdelivr.net/npm/bootstrap@5.0.1/dist/css/bootstrap.min.css\", \"rel\", \"stylesheet\", \"integrity\", \"sha384-+0n0xVW2eSR5OomGNYDnhzAbDsOXxcvSN1TPprVMTNDbiYZCxYbOOl7+AMvyTG2x\", \"crossorigin\", \"anonymous\"], [\"lang\", \"en\"], [\"charset\", \"utf-8\"], [1, \"navbar\", \"navbar-expand-sm\"], [1, \"navbar-brand\"], [1, \"navbar-nav\", \"ml-auto\"], [1, \"nav-item\"], [1, \"example-form\"], [\"appearance\", \"fill\", 1, \"example-full-width\"], [\"type\", \"text\", \"matInput\", \"\", 3, \"formControl\", \"matAutocomplete\", \"ngModel\", \"ngModelChange\"], [3, \"displayWith\"], [\"auto\", \"matAutocomplete\"], [3, \"value\", \"click\", 4, \"ngFor\", \"ngForOf\"], [\"label\", \"Search\", \"icon\", \"pi pi-search\", \"id\", \"button\", 3, \"loading\", \"click\"], [3, \"value\", \"click\"]], template: function ExploreComponent_Template(rf, ctx) { if (rf & 1) {\r\n i0.ɵɵelement(0, \"link\", 0);\r\n i0.ɵɵelementStart(1, \"html\", 1);\r\n i0.ɵɵelementStart(2, \"head\");\r\n i0.ɵɵelement(3, \"meta\", 2);\r\n i0.ɵɵelementStart(4, \"title\");\r\n i0.ɵɵtext(5, \"Explore\");\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementStart(6, \"body\");\r\n i0.ɵɵelementStart(7, \"header\");\r\n i0.ɵɵelementStart(8, \"nav\", 3);\r\n i0.ɵɵelementStart(9, \"strong\", 4);\r\n i0.ɵɵtext(10, \"Trivia Trip\");\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementStart(11, \"ul\", 5);\r\n i0.ɵɵelementStart(12, \"li\", 6);\r\n i0.ɵɵelementStart(13, \"form\", 7);\r\n i0.ɵɵelementStart(14, \"mat-form-field\", 8);\r\n i0.ɵɵelementStart(15, \"input\", 9);\r\n i0.ɵɵlistener(\"ngModelChange\", function ExploreComponent_Template_input_ngModelChange_15_listener($event) { return ctx.selectedPlace = $event; });\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementStart(16, \"mat-autocomplete\", 10, 11);\r\n i0.ɵɵtemplate(18, ExploreComponent_mat_option_18_Template, 2, 2, \"mat-option\", 12);\r\n i0.ɵɵpipe(19, \"async\");\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementStart(20, \"p-button\", 13);\r\n i0.ɵɵlistener(\"click\", function ExploreComponent_Template_p_button_click_20_listener() { return ctx.load(0); });\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n } if (rf & 2) {\r\n const _r0 = i0.ɵɵreference(17);\r\n i0.ɵɵadvance(15);\r\n i0.ɵɵproperty(\"formControl\", ctx.myControl)(\"matAutocomplete\", _r0)(\"ngModel\", ctx.selectedPlace);\r\n i0.ɵɵadvance(1);\r\n i0.ɵɵproperty(\"displayWith\", ctx.displayFn);\r\n i0.ɵɵadvance(2);\r\n i0.ɵɵproperty(\"ngForOf\", i0.ɵɵpipeBind1(19, 6, ctx.filteredOptions));\r\n i0.ɵɵadvance(2);\r\n i0.ɵɵproperty(\"loading\", ctx.loading[0]);\r\n } }, directives: [i5.ɵNgNoValidate, i5.NgControlStatusGroup, i5.NgForm, i6.MatFormField, i7.MatInput, i5.DefaultValueAccessor, i8.MatAutocompleteTrigger, i5.NgControlStatus, i5.FormControlDirective, i8.MatAutocomplete, i9.NgForOf, i10.Button, i11.MatOption], pipes: [i9.AsyncPipe], styles: [\"#button[_ngcontent-%COMP%]{\\r\\n margin-left: 20px;\\r\\n}\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImV4cGxvcmUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLGlCQUFpQjtBQUNyQiIsImZpbGUiOiJleHBsb3JlLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIjYnV0dG9ue1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbn0iXX0= */\"] });\r\n"]},"metadata":{},"sourceType":"module"} |
---|