{"ast":null,"code":"import { FormControl } from '@angular/forms';\nimport { Observable } from 'rxjs';\nimport { map, startWith } from 'rxjs/operators';\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 \"primeng/autocomplete\";\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_22_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"mat-option\", 15);\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) {\n this.cityService = cityService;\n this.locationService = locationService;\n this.regionService = regionService;\n this.loading = [false, false, false, false];\n this.regions = [];\n this.filteredOptions = new Observable();\n this.myControl = new FormControl();\n this.cities = [];\n this.filteredCountries = [];\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 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 search(event) {\n let filtered = [];\n let query = event.query;\n\n for (let i = 0; i < this.cities.length; i++) {\n let city = this.cities[i];\n\n if (city.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {\n filtered.push(city);\n }\n }\n\n for (let i = 0; i < this.regions.length; i++) {\n let region = this.regions[i];\n\n if (region.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {\n filtered.push(region);\n }\n }\n\n this.filteredCountries = filtered;\n }\n\n load(index, event) {\n this.loading[index] = true;\n setTimeout(() => this.loading[index] = false, 1000);\n console.log(event.value);\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));\n};\n\nExploreComponent.ɵcmp = /*@__PURE__*/i0.ɵɵdefineComponent({\n type: ExploreComponent,\n selectors: [[\"app-explore\"]],\n decls: 25,\n vars: 10,\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\"], [\"field\", \"name\", 3, \"ngModel\", \"suggestions\", \"minLength\", \"ngModelChange\", \"completeMethod\"], [1, \"example-form\"], [\"appearance\", \"fill\", 1, \"example-full-width\"], [\"type\", \"text\", \"matInput\", \"\", 3, \"formControl\", \"matAutocomplete\"], [3, \"displayWith\"], [\"auto\", \"matAutocomplete\"], [3, \"value\", 4, \"ngFor\", \"ngForOf\"], [\"label\", \"Search\", \"icon\", \"pi pi-search\", \"id\", \"button\", 3, \"loading\", \"click\"], [3, \"value\"]],\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, \"p-autoComplete\", 7);\n i0.ɵɵlistener(\"ngModelChange\", function ExploreComponent_Template_p_autoComplete_ngModelChange_13_listener($event) {\n return ctx.text = $event;\n })(\"completeMethod\", function ExploreComponent_Template_p_autoComplete_completeMethod_13_listener($event) {\n return ctx.search($event);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelement(14, \"li\", 6);\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(15, \"form\", 8);\n i0.ɵɵelementStart(16, \"mat-form-field\", 9);\n i0.ɵɵelementStart(17, \"mat-label\");\n i0.ɵɵtext(18, \"Assignee\");\n i0.ɵɵelementEnd();\n i0.ɵɵelement(19, \"input\", 10);\n i0.ɵɵelementStart(20, \"mat-autocomplete\", 11, 12);\n i0.ɵɵtemplate(22, ExploreComponent_mat_option_22_Template, 2, 2, \"mat-option\", 13);\n i0.ɵɵpipe(23, \"async\");\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(24, \"p-button\", 14);\n i0.ɵɵlistener(\"click\", function ExploreComponent_Template_p_button_click_24_listener() {\n return ctx.load(0, ctx.option.name);\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n i0.ɵɵelementEnd();\n }\n\n if (rf & 2) {\n const _r0 = i0.ɵɵreference(21);\n\n i0.ɵɵadvance(13);\n i0.ɵɵproperty(\"ngModel\", ctx.text)(\"suggestions\", ctx.filteredCountries)(\"minLength\", 1);\n i0.ɵɵadvance(6);\n i0.ɵɵproperty(\"formControl\", ctx.myControl)(\"matAutocomplete\", _r0);\n i0.ɵɵadvance(1);\n i0.ɵɵproperty(\"displayWith\", ctx.displayFn);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngForOf\", i0.ɵɵpipeBind1(23, 8, ctx.filteredOptions));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"loading\", ctx.loading[0]);\n }\n },\n directives: [i4.AutoComplete, i5.NgControlStatus, i5.NgModel, i5.ɵNgNoValidate, i5.NgControlStatusGroup, i5.NgForm, i6.MatFormField, i6.MatLabel, i7.MatInput, i5.DefaultValueAccessor, i8.MatAutocompleteTrigger, 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","Observable","map","startWith","i0","i1","i2","i3","i4","i5","i6","i7","i8","i9","i10","i11","ExploreComponent_mat_option_22_Template","rf","ctx","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","option_r2","$implicit","ɵɵproperty","ɵɵadvance","ɵɵtextInterpolate1","name","ExploreComponent","constructor","cityService","locationService","regionService","loading","regions","filteredOptions","myControl","cities","filteredCountries","text","ngOnInit","getAllCities","subscribe","getAllRegions","valueChanges","pipe","value","_filter","slice","displayFn","city","filterValue","toLowerCase","filter","option","includes","search","event","filtered","query","i","length","indexOf","push","region","load","index","setTimeout","console","log","ɵfac","ExploreComponent_Factory","t","ɵɵdirectiveInject","CityService","LocationService","RegionService","ɵcmp","ɵɵdefineComponent","type","selectors","decls","vars","consts","template","ExploreComponent_Template","ɵɵelement","ɵɵlistener","ExploreComponent_Template_p_autoComplete_ngModelChange_13_listener","$event","ExploreComponent_Template_p_autoComplete_completeMethod_13_listener","ɵɵtemplate","ɵɵpipe","ExploreComponent_Template_p_button_click_24_listener","_r0","ɵɵreference","ɵɵpipeBind1","directives","AutoComplete","NgControlStatus","NgModel","ɵNgNoValidate","NgControlStatusGroup","NgForm","MatFormField","MatLabel","MatInput","DefaultValueAccessor","MatAutocompleteTrigger","FormControlDirective","MatAutocomplete","NgForOf","Button","MatOption","pipes","AsyncPipe","styles"],"mappings":"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","sourcesContent":["import { FormControl } from '@angular/forms';\r\nimport { Observable } from 'rxjs';\r\nimport { map, startWith } from 'rxjs/operators';\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 \"primeng/autocomplete\";\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_22_Template(rf, ctx) { if (rf & 1) {\r\n i0.ɵɵelementStart(0, \"mat-option\", 15);\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) {\r\n this.cityService = cityService;\r\n this.locationService = locationService;\r\n this.regionService = regionService;\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.cities = [];\r\n this.filteredCountries = [];\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 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 search(event) {\r\n let filtered = [];\r\n let query = event.query;\r\n for (let i = 0; i < this.cities.length; i++) {\r\n let city = this.cities[i];\r\n if (city.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(city);\r\n }\r\n }\r\n for (let i = 0; i < this.regions.length; i++) {\r\n let region = this.regions[i];\r\n if (region.name.toLowerCase().indexOf(query.toLowerCase()) == 0) {\r\n filtered.push(region);\r\n }\r\n }\r\n this.filteredCountries = filtered;\r\n }\r\n load(index, event) {\r\n this.loading[index] = true;\r\n setTimeout(() => this.loading[index] = false, 1000);\r\n console.log(event.value);\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)); };\r\nExploreComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ExploreComponent, selectors: [[\"app-explore\"]], decls: 25, vars: 10, 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\"], [\"field\", \"name\", 3, \"ngModel\", \"suggestions\", \"minLength\", \"ngModelChange\", \"completeMethod\"], [1, \"example-form\"], [\"appearance\", \"fill\", 1, \"example-full-width\"], [\"type\", \"text\", \"matInput\", \"\", 3, \"formControl\", \"matAutocomplete\"], [3, \"displayWith\"], [\"auto\", \"matAutocomplete\"], [3, \"value\", 4, \"ngFor\", \"ngForOf\"], [\"label\", \"Search\", \"icon\", \"pi pi-search\", \"id\", \"button\", 3, \"loading\", \"click\"], [3, \"value\"]], 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, \"p-autoComplete\", 7);\r\n i0.ɵɵlistener(\"ngModelChange\", function ExploreComponent_Template_p_autoComplete_ngModelChange_13_listener($event) { return ctx.text = $event; })(\"completeMethod\", function ExploreComponent_Template_p_autoComplete_completeMethod_13_listener($event) { return ctx.search($event); });\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelement(14, \"li\", 6);\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementStart(15, \"form\", 8);\r\n i0.ɵɵelementStart(16, \"mat-form-field\", 9);\r\n i0.ɵɵelementStart(17, \"mat-label\");\r\n i0.ɵɵtext(18, \"Assignee\");\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelement(19, \"input\", 10);\r\n i0.ɵɵelementStart(20, \"mat-autocomplete\", 11, 12);\r\n i0.ɵɵtemplate(22, ExploreComponent_mat_option_22_Template, 2, 2, \"mat-option\", 13);\r\n i0.ɵɵpipe(23, \"async\");\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementEnd();\r\n i0.ɵɵelementStart(24, \"p-button\", 14);\r\n i0.ɵɵlistener(\"click\", function ExploreComponent_Template_p_button_click_24_listener() { return ctx.load(0, ctx.option.name); });\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(21);\r\n i0.ɵɵadvance(13);\r\n i0.ɵɵproperty(\"ngModel\", ctx.text)(\"suggestions\", ctx.filteredCountries)(\"minLength\", 1);\r\n i0.ɵɵadvance(6);\r\n i0.ɵɵproperty(\"formControl\", ctx.myControl)(\"matAutocomplete\", _r0);\r\n i0.ɵɵadvance(1);\r\n i0.ɵɵproperty(\"displayWith\", ctx.displayFn);\r\n i0.ɵɵadvance(2);\r\n i0.ɵɵproperty(\"ngForOf\", i0.ɵɵpipeBind1(23, 8, ctx.filteredOptions));\r\n i0.ɵɵadvance(2);\r\n i0.ɵɵproperty(\"loading\", ctx.loading[0]);\r\n } }, directives: [i4.AutoComplete, i5.NgControlStatus, i5.NgModel, i5.ɵNgNoValidate, i5.NgControlStatusGroup, i5.NgForm, i6.MatFormField, i6.MatLabel, i7.MatInput, i5.DefaultValueAccessor, i8.MatAutocompleteTrigger, 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"}