diff --git a/Subiton/src/app/app.module.ts b/Subiton/src/app/app.module.ts index 05a5f0f..b6adf88 100644 --- a/Subiton/src/app/app.module.ts +++ b/Subiton/src/app/app.module.ts @@ -30,6 +30,7 @@ import { UserDetailResolver } from './_resolvers/user-details.resolver'; import { UserListResolver } from './_resolvers/user-list.resolver'; import { UserEditComponent } from './users/user-edit/user-edit.component'; import { UserEditResolver } from './_resolvers/user-edit.resolver'; +import { PreventUnsavedChanges } from './_guards/prevent-unsaved-changes.guard'; // defining reading token early om export function tokenGetter() { @@ -75,7 +76,8 @@ export function tokenGetter() { ErrorInterceptorProvider, UserDetailResolver, UserListResolver, - UserEditResolver + UserEditResolver, + PreventUnsavedChanges ], bootstrap: [ AppComponent diff --git a/Subiton/src/app/routes.ts b/Subiton/src/app/routes.ts index cbc173e..3f6b98f 100644 --- a/Subiton/src/app/routes.ts +++ b/Subiton/src/app/routes.ts @@ -9,6 +9,7 @@ import { UserDetailResolver } from './_resolvers/user-details.resolver'; import { UserListResolver } from './_resolvers/user-list.resolver'; import { UserEditComponent } from './users/user-edit/user-edit.component'; import { UserEditResolver } from './_resolvers/user-edit.resolver'; +import { PreventUnsavedChanges } from './_guards/prevent-unsaved-changes.guard'; export const appRoutes: Routes = [ { path: 'home', component: HomeComponent }, @@ -16,7 +17,9 @@ export const appRoutes: Routes = [ children: [ { path: 'users', component: UserListComponent, resolve: { users: UserListResolver } }, { path: 'users/:id', component: UserDetailsComponent, resolve: {user: UserDetailResolver} }, - { path: 'profile/edit', component: UserEditComponent, resolve: { user: UserEditResolver } }, + { path: 'profile/edit', component: UserEditComponent, + resolve: { user: UserEditResolver }, + canDeactivate: [PreventUnsavedChanges] }, { path: 'likes', component: LikesComponent }, { path: 'messages', component: MessagesComponent } ] }, diff --git a/Subiton/src/app/users/user-edit/user-edit.component.ts b/Subiton/src/app/users/user-edit/user-edit.component.ts index ff3eec5..9b26e08 100644 --- a/Subiton/src/app/users/user-edit/user-edit.component.ts +++ b/Subiton/src/app/users/user-edit/user-edit.component.ts @@ -17,7 +17,7 @@ export class UserEditComponent implements OnInit { galleryOptions: NgxGalleryOptions[]; galleryImages: NgxGalleryImage[]; - @ViewChild('editForm') editForm: NgForm; + @ViewChild('editForm', { static: false }) editForm: NgForm; constructor(private route: ActivatedRoute, private alertify: AlertifyService) { }