Changeset 6fe77af
- Timestamp:
- 02/06/22 18:15:51 (3 years ago)
- Branches:
- master
- Children:
- 571e0df
- Parents:
- 76712b2
- Files:
-
- 46 added
- 1 deleted
- 34 edited
Legend:
- Unmodified
- Added
- Removed
-
trip-planner-front/node_modules/@angular/cdk/stepper/index.d.ts
r76712b2 r6fe77af 3 3 */ 4 4 export * from './public-api'; 5 6 //# sourceMappingURL=index.d.ts.map -
trip-planner-front/node_modules/@angular/cdk/stepper/package.json
r76712b2 r6fe77af 2 2 "name": "@angular/cdk/stepper", 3 3 "main": "../bundles/cdk-stepper.umd.js", 4 "fesm2015_ivy_ngcc": "../__ivy_ngcc__/fesm2015/stepper.js", 4 5 "fesm2015": "../fesm2015/stepper.js", 5 6 "esm2015": "../esm2015/stepper/index.js", 6 7 "typings": "./index.d.ts", 8 "module_ivy_ngcc": "../__ivy_ngcc__/fesm2015/stepper.js", 7 9 "module": "../fesm2015/stepper.js", 8 "es2015": "../fesm2015/stepper.js" 10 "es2015_ivy_ngcc": "../__ivy_ngcc__/fesm2015/stepper.js", 11 "es2015": "../fesm2015/stepper.js", 12 "__processed_by_ivy_ngcc__": { 13 "es2015": "12.2.13", 14 "fesm2015": "12.2.13", 15 "module": "12.2.13", 16 "typings": "12.2.13" 17 }, 18 "scripts": { 19 "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by NGCC. This is not allowed.\\nPlease delete and rebuild the package, without compiling with NGCC, before attempting to publish.\\nNote that NGCC may have been run by importing this package into another project that is being built with Ivy enabled.\\n')\" && exit 1" 20 } 9 21 } -
trip-planner-front/node_modules/@angular/cdk/stepper/step-header.d.ts
r76712b2 r6fe77af 8 8 import { ElementRef } from '@angular/core'; 9 9 import { FocusableOption } from '@angular/cdk/a11y'; 10 import * as ɵngcc0 from '@angular/core'; 10 11 export declare class CdkStepHeader implements FocusableOption { 11 12 _elementRef: ElementRef<HTMLElement>; … … 13 14 /** Focuses the step header. */ 14 15 focus(): void; 16 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStepHeader, never>; 17 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<CdkStepHeader, "[cdkStepHeader]", never, {}, {}, never>; 15 18 } 19 20 //# sourceMappingURL=step-header.d.ts.map -
trip-planner-front/node_modules/@angular/cdk/stepper/step-label.d.ts
r76712b2 r6fe77af 7 7 */ 8 8 import { TemplateRef } from '@angular/core'; 9 import * as ɵngcc0 from '@angular/core'; 9 10 export declare class CdkStepLabel { 10 11 template: TemplateRef<any>; 11 12 constructor(/** @docs-private */ template: TemplateRef<any>); 13 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStepLabel, never>; 14 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<CdkStepLabel, "[cdkStepLabel]", never, {}, {}, never>; 12 15 } 16 17 //# sourceMappingURL=step-label.d.ts.map -
trip-planner-front/node_modules/@angular/cdk/stepper/stepper-button.d.ts
r76712b2 r6fe77af 8 8 import { CdkStepper } from './stepper'; 9 9 /** Button that moves to the next step in a stepper workflow. */ 10 import * as ɵngcc0 from '@angular/core'; 10 11 export declare class CdkStepperNext { 11 12 _stepper: CdkStepper; … … 14 15 constructor(_stepper: CdkStepper); 15 16 _handleClick(): void; 17 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStepperNext, never>; 18 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<CdkStepperNext, "button[cdkStepperNext]", never, { "type": "type"; }, {}, never>; 16 19 } 17 20 /** Button that moves to the previous step in a stepper workflow. */ … … 22 25 constructor(_stepper: CdkStepper); 23 26 _handleClick(): void; 27 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStepperPrevious, never>; 28 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<CdkStepperPrevious, "button[cdkStepperPrevious]", never, { "type": "type"; }, {}, never>; 24 29 } 30 31 //# sourceMappingURL=stepper-button.d.ts.map -
trip-planner-front/node_modules/@angular/cdk/stepper/stepper-module.d.ts
r76712b2 r6fe77af 6 6 * found in the LICENSE file at https://angular.io/license 7 7 */ 8 import * as ɵngcc0 from '@angular/core'; 9 import * as ɵngcc1 from './stepper'; 10 import * as ɵngcc2 from './step-header'; 11 import * as ɵngcc3 from './step-label'; 12 import * as ɵngcc4 from './stepper-button'; 13 import * as ɵngcc5 from '@angular/cdk/bidi'; 8 14 export declare class CdkStepperModule { 15 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStepperModule, never>; 16 static ɵmod: ɵngcc0.ɵɵNgModuleDeclaration<CdkStepperModule, [typeof ɵngcc1.CdkStep, typeof ɵngcc1.CdkStepper, typeof ɵngcc2.CdkStepHeader, typeof ɵngcc3.CdkStepLabel, typeof ɵngcc4.CdkStepperNext, typeof ɵngcc4.CdkStepperPrevious], [typeof ɵngcc5.BidiModule], [typeof ɵngcc1.CdkStep, typeof ɵngcc1.CdkStepper, typeof ɵngcc2.CdkStepHeader, typeof ɵngcc3.CdkStepLabel, typeof ɵngcc4.CdkStepperNext, typeof ɵngcc4.CdkStepperPrevious]>; 17 static ɵinj: ɵngcc0.ɵɵInjectorDeclaration<CdkStepperModule>; 9 18 } 19 20 //# sourceMappingURL=stepper-module.d.ts.map -
trip-planner-front/node_modules/@angular/cdk/stepper/stepper.d.ts
r76712b2 r6fe77af 16 16 * the content into correct position upon step selection change. 17 17 */ 18 import * as ɵngcc0 from '@angular/core'; 18 19 export declare type StepContentPositionState = 'previous' | 'current' | 'next'; 19 20 /** Possible orientation of a stepper. */ … … 113 114 static ngAcceptInputType_optional: BooleanInput; 114 115 static ngAcceptInputType_completed: BooleanInput; 116 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStep, [null, { optional: true; }]>; 117 static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<CdkStep, "cdk-step", ["cdkStep"], { "editable": "editable"; "optional": "optional"; "completed": "completed"; "hasError": "hasError"; "stepControl": "stepControl"; "label": "label"; "errorMessage": "errorMessage"; "ariaLabel": "aria-label"; "ariaLabelledby": "aria-labelledby"; "state": "state"; }, { "interactedStream": "interacted"; }, ["stepLabel"], ["*"]>; 115 118 } 116 119 export declare class CdkStepper implements AfterContentInit, AfterViewInit, OnDestroy { … … 197 200 static ngAcceptInputType_linear: BooleanInput; 198 201 static ngAcceptInputType_selectedIndex: NumberInput; 202 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<CdkStepper, [{ optional: true; }, null, null, null]>; 203 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<CdkStepper, "[cdkStepper]", ["cdkStepper"], { "linear": "linear"; "selectedIndex": "selectedIndex"; "selected": "selected"; "orientation": "orientation"; }, { "selectionChange": "selectionChange"; }, ["_steps", "_stepHeader"]>; 199 204 } 200 205 /** … … 253 258 } 254 259 export {}; 260 261 //# sourceMappingURL=stepper.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/index.d.ts
r76712b2 r6fe77af 3 3 */ 4 4 export * from './public-api'; 5 6 //# sourceMappingURL=index.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/package.json
r76712b2 r6fe77af 2 2 "name": "@angular/material/stepper", 3 3 "main": "../bundles/material-stepper.umd.js", 4 "fesm2015_ivy_ngcc": "../__ivy_ngcc__/fesm2015/stepper.js", 4 5 "fesm2015": "../fesm2015/stepper.js", 5 6 "esm2015": "../esm2015/stepper/index.js", 6 7 "typings": "./index.d.ts", 8 "module_ivy_ngcc": "../__ivy_ngcc__/fesm2015/stepper.js", 7 9 "module": "../fesm2015/stepper.js", 8 "es2015": "../fesm2015/stepper.js" 10 "es2015_ivy_ngcc": "../__ivy_ngcc__/fesm2015/stepper.js", 11 "es2015": "../fesm2015/stepper.js", 12 "__processed_by_ivy_ngcc__": { 13 "es2015": "12.2.13", 14 "fesm2015": "12.2.13", 15 "module": "12.2.13", 16 "typings": "12.2.13" 17 }, 18 "scripts": { 19 "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by NGCC. This is not allowed.\\nPlease delete and rebuild the package, without compiling with NGCC, before attempting to publish.\\nNote that NGCC may have been run by importing this package into another project that is being built with Ivy enabled.\\n')\" && exit 1" 20 } 9 21 } -
trip-planner-front/node_modules/@angular/material/stepper/step-content.d.ts
r76712b2 r6fe77af 10 10 * Content for a `mat-step` that will be rendered lazily. 11 11 */ 12 import * as ɵngcc0 from '@angular/core'; 12 13 export declare class MatStepContent { 13 14 _template: TemplateRef<any>; 14 15 constructor(_template: TemplateRef<any>); 16 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepContent, never>; 17 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatStepContent, "ng-template[matStepContent]", never, {}, {}, never>; 15 18 } 19 20 //# sourceMappingURL=step-content.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/step-header.d.ts
r76712b2 r6fe77af 14 14 import { CanColor } from '@angular/material/core'; 15 15 /** @docs-private */ 16 import * as ɵngcc0 from '@angular/core'; 16 17 declare const _MatStepHeaderBase: import("@angular/material/core/common-behaviors/constructor").Constructor<CanColor> & import("@angular/material/core/common-behaviors/constructor").AbstractConstructor<CanColor> & { 17 18 new (elementRef: ElementRef): { … … 58 59 _getIconContext(): MatStepperIconContext; 59 60 _getDefaultTextForState(state: StepState): string; 61 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepHeader, never>; 62 static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatStepHeader, "mat-step-header", never, { "color": "color"; "state": "state"; "label": "label"; "errorMessage": "errorMessage"; "iconOverrides": "iconOverrides"; "index": "index"; "selected": "selected"; "active": "active"; "optional": "optional"; "disableRipple": "disableRipple"; }, {}, never, never>; 60 63 } 61 64 export {}; 65 66 //# sourceMappingURL=step-header.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/step-label.d.ts
r76712b2 r6fe77af 7 7 */ 8 8 import { CdkStepLabel } from '@angular/cdk/stepper'; 9 import * as ɵngcc0 from '@angular/core'; 9 10 export declare class MatStepLabel extends CdkStepLabel { 11 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepLabel, never>; 12 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatStepLabel, "[matStepLabel]", never, {}, {}, never>; 10 13 } 14 15 //# sourceMappingURL=step-label.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/stepper-button.d.ts
r76712b2 r6fe77af 8 8 import { CdkStepperNext, CdkStepperPrevious } from '@angular/cdk/stepper'; 9 9 /** Button that moves to the next step in a stepper workflow. */ 10 import * as ɵngcc0 from '@angular/core'; 10 11 export declare class MatStepperNext extends CdkStepperNext { 12 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepperNext, never>; 13 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatStepperNext, "button[matStepperNext]", never, { "type": "type"; }, {}, never>; 11 14 } 12 15 /** Button that moves to the previous step in a stepper workflow. */ 13 16 export declare class MatStepperPrevious extends CdkStepperPrevious { 17 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepperPrevious, never>; 18 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatStepperPrevious, "button[matStepperPrevious]", never, { "type": "type"; }, {}, never>; 14 19 } 20 21 //# sourceMappingURL=stepper-button.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/stepper-icon.d.ts
r76712b2 r6fe77af 9 9 import { StepState } from '@angular/cdk/stepper'; 10 10 /** Template context available to an attached `matStepperIcon`. */ 11 import * as ɵngcc0 from '@angular/core'; 11 12 export interface MatStepperIconContext { 12 13 /** Index of the step. */ … … 25 26 name: StepState; 26 27 constructor(templateRef: TemplateRef<MatStepperIconContext>); 28 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepperIcon, never>; 29 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatStepperIcon, "ng-template[matStepperIcon]", never, { "name": "matStepperIcon"; }, {}, never>; 27 30 } 31 32 //# sourceMappingURL=stepper-icon.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/stepper-intl.d.ts
r76712b2 r6fe77af 9 9 import { Subject } from 'rxjs'; 10 10 /** Stepper data that is required for internationalization. */ 11 import * as ɵngcc0 from '@angular/core'; 11 12 export declare class MatStepperIntl { 12 13 /** … … 21 22 /** Label that is used to indicate step as editable to screen readers. */ 22 23 editableLabel: string; 24 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepperIntl, never>; 23 25 } 24 26 /** @docs-private */ … … 30 32 useFactory: typeof MAT_STEPPER_INTL_PROVIDER_FACTORY; 31 33 }; 34 35 //# sourceMappingURL=stepper-intl.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/stepper-module.d.ts
r76712b2 r6fe77af 6 6 * found in the LICENSE file at https://angular.io/license 7 7 */ 8 import * as ɵngcc0 from '@angular/core'; 9 import * as ɵngcc1 from './stepper'; 10 import * as ɵngcc2 from './step-label'; 11 import * as ɵngcc3 from './stepper-button'; 12 import * as ɵngcc4 from './step-header'; 13 import * as ɵngcc5 from './stepper-icon'; 14 import * as ɵngcc6 from './step-content'; 15 import * as ɵngcc7 from '@angular/material/core'; 16 import * as ɵngcc8 from '@angular/common'; 17 import * as ɵngcc9 from '@angular/cdk/portal'; 18 import * as ɵngcc10 from '@angular/material/button'; 19 import * as ɵngcc11 from '@angular/cdk/stepper'; 20 import * as ɵngcc12 from '@angular/material/icon'; 8 21 export declare class MatStepperModule { 22 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepperModule, never>; 23 static ɵmod: ɵngcc0.ɵɵNgModuleDeclaration<MatStepperModule, [typeof ɵngcc1.MatHorizontalStepper, typeof ɵngcc1.MatVerticalStepper, typeof ɵngcc1.MatStep, typeof ɵngcc2.MatStepLabel, typeof ɵngcc1.MatStepper, typeof ɵngcc3.MatStepperNext, typeof ɵngcc3.MatStepperPrevious, typeof ɵngcc4.MatStepHeader, typeof ɵngcc5.MatStepperIcon, typeof ɵngcc6.MatStepContent], [typeof ɵngcc7.MatCommonModule, typeof ɵngcc8.CommonModule, typeof ɵngcc9.PortalModule, typeof ɵngcc10.MatButtonModule, typeof ɵngcc11.CdkStepperModule, typeof ɵngcc12.MatIconModule, typeof ɵngcc7.MatRippleModule], [typeof ɵngcc7.MatCommonModule, typeof ɵngcc1.MatStep, typeof ɵngcc2.MatStepLabel, typeof ɵngcc1.MatStepper, typeof ɵngcc3.MatStepperNext, typeof ɵngcc3.MatStepperPrevious, typeof ɵngcc4.MatStepHeader, typeof ɵngcc5.MatStepperIcon, typeof ɵngcc6.MatStepContent]>; 24 static ɵinj: ɵngcc0.ɵɵInjectorDeclaration<MatStepperModule>; 9 25 } 26 27 //# sourceMappingURL=stepper-module.d.ts.map -
trip-planner-front/node_modules/@angular/material/stepper/stepper.d.ts
r76712b2 r6fe77af 18 18 import { MatStepperIcon, MatStepperIconContext } from './stepper-icon'; 19 19 import { MatStepContent } from './step-content'; 20 import * as ɵngcc0 from '@angular/core'; 20 21 export declare class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy { 21 22 private _errorStateMatcher; … … 35 36 /** Custom error state matcher that additionally checks for validity of interacted form. */ 36 37 isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; 38 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStep, [null, { skipSelf: true; }, null, { optional: true; }]>; 39 static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatStep, "mat-step", ["matStep"], { "color": "color"; }, {}, ["stepLabel", "_lazyContent"], ["*"]>; 37 40 } 38 41 /** … … 55 58 */ 56 59 export declare class MatHorizontalStepper extends _MatProxyStepperBase { 60 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatHorizontalStepper, never>; 61 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatHorizontalStepper, "mat-horizontal-stepper", never, {}, {}, never>; 57 62 } 58 63 /** … … 61 66 */ 62 67 export declare class MatVerticalStepper extends _MatProxyStepperBase { 68 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatVerticalStepper, never>; 69 static ɵdir: ɵngcc0.ɵɵDirectiveDeclaration<MatVerticalStepper, "mat-vertical-stepper", never, {}, {}, never>; 63 70 } 64 71 export declare class MatStepper extends CdkStepper implements AfterContentInit { … … 89 96 ngAfterContentInit(): void; 90 97 _stepIsNavigable(index: number, step: MatStep): boolean; 98 static ɵfac: ɵngcc0.ɵɵFactoryDeclaration<MatStepper, [{ optional: true; }, null, null, null]>; 99 static ɵcmp: ɵngcc0.ɵɵComponentDeclaration<MatStepper, "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", ["matStepper", "matVerticalStepper", "matHorizontalStepper"], { "selectedIndex": "selectedIndex"; "labelPosition": "labelPosition"; "disableRipple": "disableRipple"; "color": "color"; }, { "animationDone": "animationDone"; }, ["_steps", "_icons"], never>; 91 100 } 92 101 export {}; 102 103 //# sourceMappingURL=stepper.d.ts.map -
trip-planner-front/src/app/_services/location.service.ts
r76712b2 r6fe77af 1 import { HttpClient } from "@angular/common/http";1 import { HttpClient, HttpHeaders } from "@angular/common/http"; 2 2 import { Injectable } from "@angular/core"; 3 3 import { Observable } from "rxjs"; 4 import { LocationDto } from "../_models/dto/locationDto"; 4 5 import { PlannerLocationDto } from "../_models/dto/plannerLocationDto"; 5 6 import { Location } from "../_models/location"; … … 9 10 }) 10 11 export class LocationService{ 12 13 httpHeaders: HttpHeaders = new HttpHeaders({ 14 'Authorization': '' + sessionStorage.getItem("token"), 15 'Accept': 'application/json', 16 'Content-Type': 'application/json' 17 }); 18 11 19 constructor(private httpClient : HttpClient){} 12 20 … … 65 73 return this.httpClient.get<Location[]>(url + "?place=" + place); 66 74 } 75 76 save(locationDto : LocationDto) : Observable<Location>{ 77 let url = "http://localhost:8080/api/add"; 78 return this.httpClient.post<Location>(url, locationDto, {headers: this.httpHeaders}); 79 } 67 80 } -
trip-planner-front/src/app/app-routing.module.ts
r76712b2 r6fe77af 5 5 import { HomepageComponent } from './homepage/homepage.component'; 6 6 import { LoginComponent } from './homepage/login/login.component'; 7 import { AddLocationComponent } from './location/add-location/add-location.component'; 7 8 import { LocationDetailsComponent } from './location/location-details/location-details.component'; 8 9 import { LocationComponent } from './location/location.component'; … … 10 11 import { EditPlannerComponent } from './planner/edit-planner/edit-planner.component'; 11 12 import { PlannerComponent } from './planner/planner.component'; 13 12 14 13 15 const routes: Routes = [ … … 20 22 {path: 'location', component: LocationDetailsComponent}, 21 23 {path: 'explore', component: ExploreComponent}, 22 {path: 'results', component: ExploreResultComponent} 24 {path: 'results', component: ExploreResultComponent}, 25 {path: 'add-location', component: AddLocationComponent} 23 26 ]; 24 27 -
trip-planner-front/src/app/app.module.ts
r76712b2 r6fe77af 52 52 import { ExploreResultComponent } from './explore/explore-result/explore-result.component'; 53 53 import {RatingModule} from 'primeng/rating'; 54 import { CustomValidators } from './providers/CustomValidators'; 54 import { AddLocationComponent } from './location/add-location/add-location.component'; 55 import {StepsModule} from 'primeng/steps'; 56 import {MatStepperModule} from '@angular/material/stepper'; 57 import {FileUploadModule} from 'primeng/fileupload'; 55 58 56 59 @NgModule({ … … 68 71 LoginComponent, 69 72 ExploreComponent, 70 ExploreResultComponent 71 ], 73 ExploreResultComponent, 74 AddLocationComponent 75 ], 72 76 imports: [ 73 77 BrowserModule, … … 110 114 CardModule, 111 115 AutoCompleteModule, 112 RatingModule 113 ], 116 RatingModule, 117 StepsModule, 118 MatStepperModule, 119 FileUploadModule 120 ], 114 121 115 122 -
trip-planner-front/src/app/explore/explore-result/explore-result.component.html
r76712b2 r6fe77af 15 15 16 16 <main role="main"> 17 <h1 style="color: #F77D62; display: inline; ">Explore</h1>17 <h1 style="color: #F77D62; display: inline;">Explore</h1> 18 18 <h1 style=" display: inline;">{{place}}</h1> 19 19 <div class="lightbox" *ngFor="let l of allLocation"> … … 25 25 </div> 26 26 </div> 27 28 29 27 30 <div class="container"> 28 31 <li *ngFor="let location of allLocation"> -
trip-planner-front/src/app/explore/explore-result/explore-result.component.ts
r76712b2 r6fe77af 17 17 } 18 18 19 responsiveOptions:any[] = [ 20 { 21 breakpoint: '1024px', 22 numVisible: 5 23 }, 24 { 25 breakpoint: '768px', 26 numVisible: 3 27 }, 28 { 29 breakpoint: '560px', 30 numVisible: 1 31 } 32 ]; 19 33 ngOnInit(): void { 20 34 this.route.queryParams … … 25 39 26 40 this.locationService.getAllLocationsSearch(this.place).subscribe( 27 data=> {28 this.allLocation = data;41 res => { 42 this.allLocation = res; 29 43 } 30 44 ) -
trip-planner-front/src/app/location/location-details/location-details.component.ts
r76712b2 r6fe77af 1 1 import { Component, OnInit } from '@angular/core'; 2 import { ActivatedRoute , Router} from '@angular/router';2 import { ActivatedRoute } from '@angular/router'; 3 3 import { Images } from 'src/app/_models/images'; 4 4 import { Location } from 'src/app/_models/location'; … … 17 17 images: Images[]; 18 18 19 constructor(private route: ActivatedRoute, private router: Router, privatelocationService: LocationService,19 constructor(private route: ActivatedRoute, private locationService: LocationService, 20 20 private imagesService: ImagesService) { 21 21 this.locationId = 1; -
trip-planner-front/src/app/locations-form/locations-form.component.html
r76712b2 r6fe77af 35 35 <mat-label>Please select a region</mat-label> 36 36 <mat-select [(ngModel)]="regionId" placeholder="Select region" name="region"> 37 <mat-option [value]="region.id" *ngFor="let region of regions" [value]="region.id"> {{region.name}}37 <mat-option [value]="region.id" *ngFor="let region of regions"> {{region.name}} 38 38 </mat-option> 39 39 </mat-select> -
trip-planner-front/src/app/planner/planner.component.html
r76712b2 r6fe77af 13 13 </nav> 14 14 15 <button pButton pRipple type="button" label="Add location" class="p-button-help " (click)="onClickAddLocation()"></button> 15 16 16 17 <br> -
trip-planner-front/src/app/planner/planner.component.ts
r76712b2 r6fe77af 99 99 window.location.reload(); 100 100 } 101 102 onClickAddLocation(){ 103 this.router.navigate(['add-location']); 104 } 101 105 } -
trip-planner/src/main/java/finki/diplomska/tripplanner/models/Location.java
r76712b2 r6fe77af 14 14 @Entity 15 15 @Table(name = "locations") 16 @NoArgsConstructor17 16 @AllArgsConstructor 18 17 @Getter … … 65 64 private List<Planner> plannerList; 66 65 66 @ManyToOne 67 @JsonBackReference 68 @JoinColumn(name = "id_user") 69 private User user; 67 70 68 71 @ManyToMany … … 74 77 private List<Category> categoryList; 75 78 76 77 79 @OneToMany(mappedBy = "location", cascade = CascadeType.REMOVE, orphanRemoval = true) 78 80 @JsonManagedReference 79 81 private List<Images> imagesList; 80 82 83 public Location(String name, String description, String address, String priority, int duration, String trivia, byte[] photo, Region region, City city, User user) { 84 this.name = name; 85 this.description = description; 86 this.address = address; 87 this.priority = priority; 88 this.duration = duration; 89 this.trivia = trivia; 90 this.photo = photo; 91 this.region = region; 92 this.city = city; 93 this.user = user; 94 } 81 95 96 public Location() { 97 } 82 98 } -
trip-planner/src/main/java/finki/diplomska/tripplanner/models/User.java
r76712b2 r6fe77af 2 2 3 3 import com.fasterxml.jackson.annotation.JsonIgnore; 4 import com.fasterxml.jackson.annotation.JsonManagedReference; 4 5 import lombok.AllArgsConstructor; 5 6 import lombok.Getter; … … 44 45 @JsonIgnore 45 46 private List<Planner> planners = new ArrayList<>(); 47 48 @OneToMany(cascade = CascadeType.REFRESH, mappedBy = "user", orphanRemoval = true) 49 @JsonIgnore 50 private List<Location> locationList = new ArrayList<>();; 46 51 47 52 public User() { -
trip-planner/src/main/java/finki/diplomska/tripplanner/security/SecurityConfig.java
r76712b2 r6fe77af 81 81 .antMatchers("/api/all").permitAll() 82 82 .antMatchers("/api/places").permitAll() 83 .antMatchers("/create/planner").permitAll() 84 .antMatchers("/create/planner/{id}").permitAll() 85 .antMatchers("/create/locations").permitAll() 86 .antMatchers("/create/trip/locations").permitAll() 87 .antMatchers("/create").permitAll() 83 88 .anyRequest().authenticated(); 84 89 http.addFilterBefore(jwtAuthenticationFilter(), UsernamePasswordAuthenticationFilter.class); -
trip-planner/src/main/java/finki/diplomska/tripplanner/service/LocationService.java
r76712b2 r6fe77af 4 4 import finki.diplomska.tripplanner.models.Location; 5 5 import finki.diplomska.tripplanner.models.Planner; 6 import finki.diplomska.tripplanner.models.dto.LocationDto; 6 7 import finki.diplomska.tripplanner.models.dto.PlannerLocationDto; 7 8 import org.springframework.data.repository.query.Param; … … 26 27 List<Long> getAllLocationIdsForPlanner(Long plannerId); 27 28 List<Location> getAllLocations(String place); 29 Optional<Location> save (LocationDto locationDto, String username); 28 30 } -
trip-planner/src/main/java/finki/diplomska/tripplanner/service/impl/LocationServiceImpl.java
r76712b2 r6fe77af 1 1 package finki.diplomska.tripplanner.service.impl; 2 2 3 import finki.diplomska.tripplanner.models. Location;4 import finki.diplomska.tripplanner.models. Planner;3 import finki.diplomska.tripplanner.models.*; 4 import finki.diplomska.tripplanner.models.dto.LocationDto; 5 5 import finki.diplomska.tripplanner.models.dto.PlannerLocationDto; 6 import finki.diplomska.tripplanner.models.exceptions.CityNotFoundException; 7 import finki.diplomska.tripplanner.models.exceptions.CompanionNotFoundException; 6 8 import finki.diplomska.tripplanner.models.exceptions.LocationNotFoundException; 7 import finki.diplomska.tripplanner. repository.jpa.JpaLocationRepository;8 import finki.diplomska.tripplanner.repository.jpa. JpaPlannerRepository;9 import finki.diplomska.tripplanner.models.exceptions.RegionNotFoundException; 10 import finki.diplomska.tripplanner.repository.jpa.*; 9 11 import finki.diplomska.tripplanner.service.LocationService; 10 12 import org.springframework.stereotype.Service; … … 19 21 private final JpaLocationRepository locationRepository; 20 22 private final JpaPlannerRepository plannerRepository; 21 22 public LocationServiceImpl(JpaLocationRepository locationRepository, JpaPlannerRepository plannerRepository) { 23 private final JpaRegionRepository regionRepository; 24 private final JpaCityRepository cityRepository; 25 private final JpaUserRepository userRepository; 26 private final JpaCategoryRepository categoryRepository; 27 private final JpaCompanionRepository companionRepository; 28 29 public LocationServiceImpl(JpaLocationRepository locationRepository, JpaPlannerRepository plannerRepository, JpaRegionRepository regionRepository, JpaCityRepository cityRepository, JpaUserRepository userRepository, JpaCategoryRepository categoryRepository, JpaCompanionRepository companionRepository) { 23 30 this.locationRepository = locationRepository; 24 31 this.plannerRepository = plannerRepository; 32 this.regionRepository = regionRepository; 33 this.cityRepository = cityRepository; 34 this.userRepository = userRepository; 35 this.categoryRepository = categoryRepository; 36 this.companionRepository = companionRepository; 25 37 } 26 38 … … 151 163 } 152 164 } 153 154 165 return newList; 155 166 } … … 189 200 } 190 201 202 @Override 203 public Optional<Location> save(LocationDto locationDto, String username) { 204 City city = new City(); 205 Region region = this.regionRepository.findById(locationDto.getRegion()) 206 .orElseThrow(() -> new RegionNotFoundException(locationDto.getRegion())); 207 if(locationDto.getCity() != null){ 208 city = this.cityRepository.findById(locationDto.getCity()) 209 .orElseThrow(() -> new CityNotFoundException(locationDto.getCity())); 210 }else{ 211 city = null; 212 } 213 User user = this.userRepository.findByUsername(username); 214 locationDto.setUser(user.getUsername()); 215 return Optional.of(this.locationRepository.save(new Location(locationDto.getName(), locationDto.getDescription(), locationDto.getAddress(), locationDto.getPriority(), 216 locationDto.getDuration(), locationDto.getTrivia(), locationDto.getPhoto(), region, city, user))); 217 } 191 218 192 219 } -
trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/LocationRestController.java
r76712b2 r6fe77af 2 2 3 3 import finki.diplomska.tripplanner.models.Location; 4 import finki.diplomska.tripplanner.models.User; 5 import finki.diplomska.tripplanner.models.dto.LocationDto; 4 6 import finki.diplomska.tripplanner.models.dto.PlannerLocationDto; 5 7 import finki.diplomska.tripplanner.service.LocationService; 6 8 import finki.diplomska.tripplanner.service.PlannerService; 7 9 import org.springframework.http.ResponseEntity; 10 import org.springframework.security.core.Authentication; 8 11 import org.springframework.web.bind.annotation.*; 9 12 … … 82 85 } 83 86 87 @PostMapping("/add") 88 public ResponseEntity<Location> save(@RequestBody LocationDto locationDto, Authentication authentication) { 89 User user = (User) authentication.getPrincipal(); 90 return this.locationService.save(locationDto, user.getUsername()) 91 .map(location -> ResponseEntity.ok().body(location)) 92 .orElseGet(() -> ResponseEntity.badRequest().build()); 93 } 84 94 } -
trip-planner/src/main/java/finki/diplomska/tripplanner/web/rest/PlannerRestController.java
r76712b2 r6fe77af 69 69 @ResponseStatus(HttpStatus.CREATED) 70 70 public ResponseEntity<?> newPlanner(@Valid @RequestBody PlannerDto plannerDto, Authentication authentication) { 71 72 71 User user = (User) authentication.getPrincipal(); 73 72 return this.plannerService.newPlanner(plannerDto, user.getUsername()) -
trip-planner/src/test/api.http
r76712b2 r6fe77af 117 117 GET http://localhost:8080/api/places 118 118 Content-Type: application/json 119 120 ### 121 POST http://localhost:8080/api/add 122 Content-Type: application/json
Note:
See TracChangeset
for help on using the changeset viewer.