@devopmaat/badaboom 1.1.1
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.
- package/README.md +3 -0
- package/_index.scss +1 -0
- package/esm2022/devopmaat-badaboom.mjs +5 -0
- package/esm2022/lib/application/common/bdb-data-source.mjs +42 -0
- package/esm2022/lib/application/common/paginator/bdb-paginator.component.mjs +37 -0
- package/esm2022/lib/application/common/query-input/bdb-query-input.component.mjs +45 -0
- package/esm2022/lib/application/common/search/bdb-search-wrapper.component.mjs +33 -0
- package/esm2022/lib/application/common/search/bdb-search.component.mjs +163 -0
- package/esm2022/lib/application/common/table/bdb-cell.directive.mjs +20 -0
- package/esm2022/lib/application/common/table/bdb-column-builder.mjs +94 -0
- package/esm2022/lib/application/common/table/bdb-column-options.mjs +2 -0
- package/esm2022/lib/application/common/table/bdb-column-type.mjs +12 -0
- package/esm2022/lib/application/common/table/bdb-column.mjs +2 -0
- package/esm2022/lib/application/common/table/bdb-context-action.mjs +2 -0
- package/esm2022/lib/application/common/table/bdb-table.component.mjs +193 -0
- package/esm2022/lib/application/common/table/dynamic.pipe.mjs +26 -0
- package/esm2022/lib/application/exception-log/exception-log-table/exception-log-table.component.mjs +49 -0
- package/esm2022/lib/application/task-log/task-log-outcome.pipe.mjs +31 -0
- package/esm2022/lib/application/task-log/task-log-status.pipe.mjs +29 -0
- package/esm2022/lib/application/task-log-parameter/task-log-parameter-value.pipe.mjs +49 -0
- package/esm2022/lib/application/user/user-table/user-table.component.mjs +68 -0
- package/esm2022/lib/bdb-auth-options.mjs +39 -0
- package/esm2022/lib/bdb-options.mjs +25 -0
- package/esm2022/lib/common/alert/bdb-alert.component.mjs +40 -0
- package/esm2022/lib/common/alert-error-response/bdb-alert-error-response.component.mjs +107 -0
- package/esm2022/lib/common/bdb-flex-child.directive.mjs +24 -0
- package/esm2022/lib/common/bdb-flex.directive.mjs +112 -0
- package/esm2022/lib/common/bdb-form-error.directive.mjs +74 -0
- package/esm2022/lib/common/bdb-grid-child.directive.mjs +81 -0
- package/esm2022/lib/common/bdb-grid.directive.mjs +107 -0
- package/esm2022/lib/common/bdb-palette.mjs +2 -0
- package/esm2022/lib/common/boolean-display/bdb-boolean-display.component.mjs +23 -0
- package/esm2022/lib/common/color.mjs +26 -0
- package/esm2022/lib/common/constructor.mjs +2 -0
- package/esm2022/lib/common/field/bdb-field.component.mjs +17 -0
- package/esm2022/lib/common/function.pipe.mjs +20 -0
- package/esm2022/lib/common/layout-error.mjs +6 -0
- package/esm2022/lib/common/linked-list.mjs +53 -0
- package/esm2022/lib/domain/auth/account-info.mjs +2 -0
- package/esm2022/lib/domain/auth/account.service.mjs +32 -0
- package/esm2022/lib/domain/auth/auth.service.mjs +119 -0
- package/esm2022/lib/domain/auth/reset-password-token.mjs +2 -0
- package/esm2022/lib/domain/auth/token-expired.interceptor.mjs +21 -0
- package/esm2022/lib/domain/auth/token-reponse.mjs +2 -0
- package/esm2022/lib/domain/auth/token.interceptor.mjs +17 -0
- package/esm2022/lib/domain/common/bdb-filter.mjs +2 -0
- package/esm2022/lib/domain/common/bdb-request.mjs +2 -0
- package/esm2022/lib/domain/common/bdb-response.mjs +2 -0
- package/esm2022/lib/domain/common/entities/bdb-entity-read.mjs +2 -0
- package/esm2022/lib/domain/common/entities/bdb-entity-update.mjs +2 -0
- package/esm2022/lib/domain/common/entities/bdb-entity.mjs +2 -0
- package/esm2022/lib/domain/common/services/bdb-service-cr.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service-crd.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service-cru.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service-crud.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service-r.mjs +10 -0
- package/esm2022/lib/domain/common/services/bdb-service-rd.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service-ru.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service-rud.mjs +7 -0
- package/esm2022/lib/domain/common/services/bdb-service.mjs +11 -0
- package/esm2022/lib/domain/entities/exception-log/exception-log-read.mjs +2 -0
- package/esm2022/lib/domain/entities/exception-log/exception-log.mjs +2 -0
- package/esm2022/lib/domain/entities/exception-log/exception-log.service.mjs +17 -0
- package/esm2022/lib/domain/entities/media/media-read.mjs +2 -0
- package/esm2022/lib/domain/entities/media/media.mjs +2 -0
- package/esm2022/lib/domain/entities/media/media.service.mjs +27 -0
- package/esm2022/lib/domain/entities/role/role-read.mjs +2 -0
- package/esm2022/lib/domain/entities/role/role.mjs +2 -0
- package/esm2022/lib/domain/entities/role/role.service.mjs +17 -0
- package/esm2022/lib/domain/entities/task-log/task-log-create.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log/task-log-read.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log/task-log.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log/task-log.service.mjs +20 -0
- package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter-create.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter-read.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-parameter/task-log-parameter.service.mjs +17 -0
- package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule-create.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule-read.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule-update.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule.mjs +2 -0
- package/esm2022/lib/domain/entities/task-log-schedule/task-log-schedule.service.mjs +17 -0
- package/esm2022/lib/domain/entities/user/user-create.mjs +2 -0
- package/esm2022/lib/domain/entities/user/user-read.mjs +2 -0
- package/esm2022/lib/domain/entities/user/user-update.mjs +2 -0
- package/esm2022/lib/domain/entities/user/user.mjs +2 -0
- package/esm2022/lib/domain/entities/user/user.service.mjs +17 -0
- package/esm2022/lib/domain/entities/user-role/user-role-create.mjs +2 -0
- package/esm2022/lib/domain/entities/user-role/user-role-read.mjs +2 -0
- package/esm2022/lib/domain/entities/user-role/user-role.mjs +2 -0
- package/esm2022/lib/domain/entities/user-role/user-role.service.mjs +17 -0
- package/esm2022/lib/domain/enums/media-type.mjs +7 -0
- package/esm2022/lib/domain/enums/task-log-outcome.mjs +9 -0
- package/esm2022/lib/domain/enums/task-log-parameter-type.mjs +8 -0
- package/esm2022/lib/domain/enums/task-log-status.mjs +8 -0
- package/esm2022/lib/domain/tasks/task-log-scheduler.service.mjs +26 -0
- package/esm2022/lib/domain/tasks/task-log-type-parameter.mjs +2 -0
- package/esm2022/lib/domain/tasks/task-log-type.mjs +2 -0
- package/esm2022/lib/domain/tasks/task-log-type.service.mjs +44 -0
- package/esm2022/lib/lib.config.mjs +67 -0
- package/esm2022/lib/presentation/access-denied-page/access-denied-page.component.mjs +51 -0
- package/esm2022/lib/presentation/auth-container/auth-container.component.mjs +12 -0
- package/esm2022/lib/presentation/forgot-password-page/forgot-password-page.component.mjs +75 -0
- package/esm2022/lib/presentation/invalid-token-page/invalid-token-page.component.mjs +26 -0
- package/esm2022/lib/presentation/logged-out.guard.mjs +16 -0
- package/esm2022/lib/presentation/login-page/login-page.component.mjs +90 -0
- package/esm2022/lib/presentation/logout-page/logout-page.component.mjs +33 -0
- package/esm2022/lib/presentation/reset-password-page/reset-password-page.component.mjs +102 -0
- package/esm2022/lib/presentation/reset-password.resolver.mjs +25 -0
- package/esm2022/lib/presentation/role.guard.mjs +28 -0
- package/esm2022/public-api.mjs +109 -0
- package/fesm2022/devopmaat-badaboom.mjs +2443 -0
- package/fesm2022/devopmaat-badaboom.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/_theme.scss +32 -0
- package/lib/application/common/bdb-data-source.d.ts +25 -0
- package/lib/application/common/paginator/bdb-paginator.component.d.ts +17 -0
- package/lib/application/common/query-input/_bdb-query-input-theme.scss +17 -0
- package/lib/application/common/query-input/bdb-query-input.component.d.ts +15 -0
- package/lib/application/common/search/_bdb-search-theme.scss +12 -0
- package/lib/application/common/search/bdb-search-wrapper.component.d.ts +13 -0
- package/lib/application/common/search/bdb-search.component.d.ts +43 -0
- package/lib/application/common/table/_bdb-table-theme.scss +48 -0
- package/lib/application/common/table/bdb-cell.directive.d.ts +9 -0
- package/lib/application/common/table/bdb-column-builder.d.ts +18 -0
- package/lib/application/common/table/bdb-column-options.d.ts +32 -0
- package/lib/application/common/table/bdb-column-type.d.ts +10 -0
- package/lib/application/common/table/bdb-column.d.ts +19 -0
- package/lib/application/common/table/bdb-context-action.d.ts +7 -0
- package/lib/application/common/table/bdb-table.component.d.ts +57 -0
- package/lib/application/common/table/dynamic.pipe.d.ts +9 -0
- package/lib/application/exception-log/exception-log-table/exception-log-table.component.d.ts +26 -0
- package/lib/application/task-log/task-log-outcome.pipe.d.ts +8 -0
- package/lib/application/task-log/task-log-status.pipe.d.ts +8 -0
- package/lib/application/task-log-parameter/task-log-parameter-value.pipe.d.ts +10 -0
- package/lib/application/user/user-table/user-table.component.d.ts +25 -0
- package/lib/bdb-auth-options.d.ts +28 -0
- package/lib/bdb-options.d.ts +16 -0
- package/lib/common/_button-theme.scss +87 -0
- package/lib/common/_icon-theme.scss +32 -0
- package/lib/common/alert/_bdb-alert-theme.scss +34 -0
- package/lib/common/alert/bdb-alert.component.d.ts +20 -0
- package/lib/common/alert-error-response/bdb-alert-error-response.component.d.ts +17 -0
- package/lib/common/bdb-flex-child.directive.d.ts +11 -0
- package/lib/common/bdb-flex.directive.d.ts +28 -0
- package/lib/common/bdb-form-error.directive.d.ts +15 -0
- package/lib/common/bdb-grid-child.directive.d.ts +14 -0
- package/lib/common/bdb-grid.directive.d.ts +26 -0
- package/lib/common/bdb-palette.d.ts +1 -0
- package/lib/common/boolean-display/_bdb-boolean-display-theme.scss +18 -0
- package/lib/common/boolean-display/bdb-boolean-display.component.d.ts +7 -0
- package/lib/common/color.d.ts +14 -0
- package/lib/common/constructor.d.ts +2 -0
- package/lib/common/field/bdb-field.component.d.ts +6 -0
- package/lib/common/function.pipe.d.ts +7 -0
- package/lib/common/layout-error.d.ts +3 -0
- package/lib/common/linked-list.d.ts +15 -0
- package/lib/domain/auth/account-info.d.ts +6 -0
- package/lib/domain/auth/account.service.d.ts +29 -0
- package/lib/domain/auth/auth.service.d.ts +35 -0
- package/lib/domain/auth/reset-password-token.d.ts +4 -0
- package/lib/domain/auth/token-expired.interceptor.d.ts +2 -0
- package/lib/domain/auth/token-reponse.d.ts +5 -0
- package/lib/domain/auth/token.interceptor.d.ts +2 -0
- package/lib/domain/common/bdb-filter.d.ts +9 -0
- package/lib/domain/common/bdb-request.d.ts +10 -0
- package/lib/domain/common/bdb-response.d.ts +6 -0
- package/lib/domain/common/entities/bdb-entity-read.d.ts +3 -0
- package/lib/domain/common/entities/bdb-entity-update.d.ts +3 -0
- package/lib/domain/common/entities/bdb-entity.d.ts +3 -0
- package/lib/domain/common/services/bdb-service-cr.d.ts +7 -0
- package/lib/domain/common/services/bdb-service-crd.d.ts +7 -0
- package/lib/domain/common/services/bdb-service-cru.d.ts +8 -0
- package/lib/domain/common/services/bdb-service-crud.d.ts +8 -0
- package/lib/domain/common/services/bdb-service-r.d.ts +10 -0
- package/lib/domain/common/services/bdb-service-rd.d.ts +7 -0
- package/lib/domain/common/services/bdb-service-ru.d.ts +8 -0
- package/lib/domain/common/services/bdb-service-rud.d.ts +8 -0
- package/lib/domain/common/services/bdb-service.d.ts +6 -0
- package/lib/domain/entities/exception-log/exception-log-read.d.ts +9 -0
- package/lib/domain/entities/exception-log/exception-log.d.ts +9 -0
- package/lib/domain/entities/exception-log/exception-log.service.d.ts +9 -0
- package/lib/domain/entities/media/media-read.d.ts +14 -0
- package/lib/domain/entities/media/media.d.ts +15 -0
- package/lib/domain/entities/media/media.service.d.ts +12 -0
- package/lib/domain/entities/role/role-read.d.ts +7 -0
- package/lib/domain/entities/role/role.d.ts +4 -0
- package/lib/domain/entities/role/role.service.d.ts +9 -0
- package/lib/domain/entities/task-log/task-log-create.d.ts +5 -0
- package/lib/domain/entities/task-log/task-log-read.d.ts +11 -0
- package/lib/domain/entities/task-log/task-log.d.ts +15 -0
- package/lib/domain/entities/task-log/task-log.service.d.ts +12 -0
- package/lib/domain/entities/task-log-parameter/task-log-parameter-create.d.ts +7 -0
- package/lib/domain/entities/task-log-parameter/task-log-parameter-read.d.ts +11 -0
- package/lib/domain/entities/task-log-parameter/task-log-parameter.d.ts +10 -0
- package/lib/domain/entities/task-log-parameter/task-log-parameter.service.d.ts +9 -0
- package/lib/domain/entities/task-log-schedule/task-log-schedule-create.d.ts +5 -0
- package/lib/domain/entities/task-log-schedule/task-log-schedule-read.d.ts +7 -0
- package/lib/domain/entities/task-log-schedule/task-log-schedule-update.d.ts +5 -0
- package/lib/domain/entities/task-log-schedule/task-log-schedule.d.ts +7 -0
- package/lib/domain/entities/task-log-schedule/task-log-schedule.service.d.ts +11 -0
- package/lib/domain/entities/user/user-create.d.ts +3 -0
- package/lib/domain/entities/user/user-read.d.ts +6 -0
- package/lib/domain/entities/user/user-update.d.ts +4 -0
- package/lib/domain/entities/user/user.d.ts +5 -0
- package/lib/domain/entities/user/user.service.d.ts +11 -0
- package/lib/domain/entities/user-role/user-role-create.d.ts +4 -0
- package/lib/domain/entities/user-role/user-role-read.d.ts +7 -0
- package/lib/domain/entities/user-role/user-role.d.ts +7 -0
- package/lib/domain/entities/user-role/user-role.service.d.ts +10 -0
- package/lib/domain/enums/media-type.d.ts +5 -0
- package/lib/domain/enums/task-log-outcome.d.ts +7 -0
- package/lib/domain/enums/task-log-parameter-type.d.ts +6 -0
- package/lib/domain/enums/task-log-status.d.ts +6 -0
- package/lib/domain/tasks/task-log-scheduler.service.d.ts +11 -0
- package/lib/domain/tasks/task-log-type-parameter.d.ts +11 -0
- package/lib/domain/tasks/task-log-type.d.ts +7 -0
- package/lib/domain/tasks/task-log-type.service.d.ts +14 -0
- package/lib/lib.config.d.ts +11 -0
- package/lib/presentation/access-denied-page/access-denied-page.component.d.ts +16 -0
- package/lib/presentation/auth-container/auth-container.component.d.ts +5 -0
- package/lib/presentation/forgot-password-page/forgot-password-page.component.d.ts +20 -0
- package/lib/presentation/invalid-token-page/invalid-token-page.component.d.ts +8 -0
- package/lib/presentation/logged-out.guard.d.ts +2 -0
- package/lib/presentation/login-page/login-page.component.d.ts +27 -0
- package/lib/presentation/logout-page/logout-page.component.d.ts +13 -0
- package/lib/presentation/reset-password-page/reset-password-page.component.d.ts +31 -0
- package/lib/presentation/reset-password.resolver.d.ts +3 -0
- package/lib/presentation/role.guard.d.ts +2 -0
- package/package.json +27 -0
- package/public-api.d.ts +99 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
+
import { BDB_OPTIONS, BdbOptionsBuilder } from './bdb-options';
|
|
3
|
+
import { provideHttpClient, withInterceptors } from '@angular/common/http';
|
|
4
|
+
import { tokenExpiredInterceptor } from './domain/auth/token-expired.interceptor';
|
|
5
|
+
import { provideRouter } from '@angular/router';
|
|
6
|
+
import { AuthContainerComponent } from './presentation/auth-container/auth-container.component';
|
|
7
|
+
import { loggedOutGuard } from './presentation/logged-out.guard';
|
|
8
|
+
import { roleGuard } from './presentation/role.guard';
|
|
9
|
+
import { resetPasswordResolver } from './presentation/reset-password.resolver';
|
|
10
|
+
import { tokenInterceptor } from './domain/auth/token.interceptor';
|
|
11
|
+
/**
|
|
12
|
+
* Configures BaDaBoom by providing necessary tokens.
|
|
13
|
+
* Takes root routes and provides the router with these routes, appending routes if specified
|
|
14
|
+
* @param {BdbOptionsConfigure} optionsConfigure
|
|
15
|
+
* @param {Routes} routes
|
|
16
|
+
* @return {EnvironmentProviders}
|
|
17
|
+
*/
|
|
18
|
+
export function provideBaDaBoom(optionsConfigure, routes) {
|
|
19
|
+
const options = new BdbOptionsBuilder(optionsConfigure).build();
|
|
20
|
+
let authRoutes = [];
|
|
21
|
+
if (options.authOptions?.addPresentation) {
|
|
22
|
+
const authOptions = options.authOptions;
|
|
23
|
+
authRoutes = [
|
|
24
|
+
{
|
|
25
|
+
path: '',
|
|
26
|
+
component: AuthContainerComponent,
|
|
27
|
+
children: [
|
|
28
|
+
{
|
|
29
|
+
path: authOptions.loginPath,
|
|
30
|
+
canActivate: [loggedOutGuard],
|
|
31
|
+
loadComponent: () => import('./presentation/login-page/login-page.component').then(x => x.LoginPageComponent),
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
path: authOptions.logoutPath,
|
|
35
|
+
canActivate: [roleGuard()],
|
|
36
|
+
loadComponent: () => import('./presentation/logout-page/logout-page.component').then(x => x.LogoutPageComponent),
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
path: authOptions.forgotPasswordPath,
|
|
40
|
+
canActivate: [loggedOutGuard],
|
|
41
|
+
loadComponent: () => import('./presentation/forgot-password-page/forgot-password-page.component').then(x => x.ForgotPasswordPageComponent),
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
path: authOptions.resetPasswordPath,
|
|
45
|
+
canActivate: [loggedOutGuard],
|
|
46
|
+
resolve: [resetPasswordResolver],
|
|
47
|
+
loadComponent: () => import('./presentation/reset-password-page/reset-password-page.component').then(x => x.ResetPasswordPageComponent),
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
path: authOptions.accessDeniedPath,
|
|
51
|
+
loadComponent: () => import('./presentation/access-denied-page/access-denied-page.component').then(x => x.AccessDeniedPageComponent),
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
path: authOptions.invalidTokenPath,
|
|
55
|
+
loadComponent: () => import('./presentation/invalid-token-page/invalid-token-page.component').then(x => x.InvalidTokenPageComponent),
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
|
+
];
|
|
60
|
+
}
|
|
61
|
+
return makeEnvironmentProviders([
|
|
62
|
+
{ provide: BDB_OPTIONS, useValue: options },
|
|
63
|
+
provideHttpClient(withInterceptors([tokenInterceptor, tokenExpiredInterceptor])),
|
|
64
|
+
provideRouter([...routes, ...authRoutes]),
|
|
65
|
+
]);
|
|
66
|
+
}
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvbGliLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXdCLHdCQUF3QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQXVCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2xGLE9BQU8sRUFBVSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNoRyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5FOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxlQUFlLENBQUMsZ0JBQXFDLEVBQUUsTUFBYztJQUNuRixNQUFNLE9BQU8sR0FBRyxJQUFJLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7SUFFaEUsSUFBSSxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRTVCLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxlQUFlLEVBQUUsQ0FBQztRQUN6QyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDO1FBRXhDLFVBQVUsR0FBRztZQUNYO2dCQUNFLElBQUksRUFBRSxFQUFFO2dCQUNSLFNBQVMsRUFBRSxzQkFBc0I7Z0JBQ2pDLFFBQVEsRUFBRTtvQkFDUjt3QkFDRSxJQUFJLEVBQUUsV0FBVyxDQUFDLFNBQVM7d0JBQzNCLFdBQVcsRUFBRSxDQUFDLGNBQWMsQ0FBQzt3QkFDN0IsYUFBYSxFQUFFLEdBQUcsRUFBRSxDQUNsQixNQUFNLENBQUMsZ0RBQWdELENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUM7cUJBQzNGO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsVUFBVTt3QkFDNUIsV0FBVyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7d0JBQzFCLGFBQWEsRUFBRSxHQUFHLEVBQUUsQ0FDbEIsTUFBTSxDQUFDLGtEQUFrRCxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO3FCQUM5RjtvQkFDRDt3QkFDRSxJQUFJLEVBQUUsV0FBVyxDQUFDLGtCQUFrQjt3QkFDcEMsV0FBVyxFQUFFLENBQUMsY0FBYyxDQUFDO3dCQUM3QixhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDLElBQUksQ0FDL0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMkJBQTJCLENBQ25DO3FCQUNKO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsaUJBQWlCO3dCQUNuQyxXQUFXLEVBQUUsQ0FBQyxjQUFjLENBQUM7d0JBQzdCLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDO3dCQUNoQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxrRUFBa0UsQ0FBQyxDQUFDLElBQUksQ0FDN0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsMEJBQTBCLENBQ2xDO3FCQUNKO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsZ0JBQWdCO3dCQUNsQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQ2pDO3FCQUNKO29CQUNEO3dCQUNFLElBQUksRUFBRSxXQUFXLENBQUMsZ0JBQWdCO3dCQUNsQyxhQUFhLEVBQUUsR0FBRyxFQUFFLENBQ2xCLE1BQU0sQ0FBQyxnRUFBZ0UsQ0FBQyxDQUFDLElBQUksQ0FDM0UsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMseUJBQXlCLENBQ2pDO3FCQUNKO2lCQUNGO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8sd0JBQXdCLENBQUM7UUFDOUIsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUU7UUFDM0MsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLENBQUM7UUFDaEYsYUFBYSxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxVQUFVLENBQUMsQ0FBQztLQUMxQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW52aXJvbm1lbnRQcm92aWRlcnMsIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCREJfT1BUSU9OUywgQmRiT3B0aW9uc0J1aWxkZXIsIEJkYk9wdGlvbnNDb25maWd1cmUgfSBmcm9tICcuL2JkYi1vcHRpb25zJztcclxuaW1wb3J0IHsgcHJvdmlkZUh0dHBDbGllbnQsIHdpdGhJbnRlcmNlcHRvcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IHRva2VuRXhwaXJlZEludGVyY2VwdG9yIH0gZnJvbSAnLi9kb21haW4vYXV0aC90b2tlbi1leHBpcmVkLmludGVyY2VwdG9yJztcclxuaW1wb3J0IHsgUm91dGVzLCBwcm92aWRlUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQXV0aENvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vcHJlc2VudGF0aW9uL2F1dGgtY29udGFpbmVyL2F1dGgtY29udGFpbmVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IGxvZ2dlZE91dEd1YXJkIH0gZnJvbSAnLi9wcmVzZW50YXRpb24vbG9nZ2VkLW91dC5ndWFyZCc7XHJcbmltcG9ydCB7IHJvbGVHdWFyZCB9IGZyb20gJy4vcHJlc2VudGF0aW9uL3JvbGUuZ3VhcmQnO1xyXG5pbXBvcnQgeyByZXNldFBhc3N3b3JkUmVzb2x2ZXIgfSBmcm9tICcuL3ByZXNlbnRhdGlvbi9yZXNldC1wYXNzd29yZC5yZXNvbHZlcic7XHJcbmltcG9ydCB7IHRva2VuSW50ZXJjZXB0b3IgfSBmcm9tICcuL2RvbWFpbi9hdXRoL3Rva2VuLmludGVyY2VwdG9yJztcclxuXHJcbi8qKlxyXG4gKiBDb25maWd1cmVzIEJhRGFCb29tIGJ5IHByb3ZpZGluZyBuZWNlc3NhcnkgdG9rZW5zLlxyXG4gKiBUYWtlcyByb290IHJvdXRlcyBhbmQgcHJvdmlkZXMgdGhlIHJvdXRlciB3aXRoIHRoZXNlIHJvdXRlcywgYXBwZW5kaW5nIHJvdXRlcyBpZiBzcGVjaWZpZWRcclxuICogQHBhcmFtIHtCZGJPcHRpb25zQ29uZmlndXJlfSBvcHRpb25zQ29uZmlndXJlXHJcbiAqIEBwYXJhbSB7Um91dGVzfSByb3V0ZXNcclxuICogQHJldHVybiB7RW52aXJvbm1lbnRQcm92aWRlcnN9XHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJhRGFCb29tKG9wdGlvbnNDb25maWd1cmU6IEJkYk9wdGlvbnNDb25maWd1cmUsIHJvdXRlczogUm91dGVzKTogRW52aXJvbm1lbnRQcm92aWRlcnMge1xyXG4gIGNvbnN0IG9wdGlvbnMgPSBuZXcgQmRiT3B0aW9uc0J1aWxkZXIob3B0aW9uc0NvbmZpZ3VyZSkuYnVpbGQoKTtcclxuXHJcbiAgbGV0IGF1dGhSb3V0ZXM6IFJvdXRlcyA9IFtdO1xyXG5cclxuICBpZiAob3B0aW9ucy5hdXRoT3B0aW9ucz8uYWRkUHJlc2VudGF0aW9uKSB7XHJcbiAgICBjb25zdCBhdXRoT3B0aW9ucyA9IG9wdGlvbnMuYXV0aE9wdGlvbnM7XHJcblxyXG4gICAgYXV0aFJvdXRlcyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIHBhdGg6ICcnLFxyXG4gICAgICAgIGNvbXBvbmVudDogQXV0aENvbnRhaW5lckNvbXBvbmVudCxcclxuICAgICAgICBjaGlsZHJlbjogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYXRoOiBhdXRoT3B0aW9ucy5sb2dpblBhdGgsXHJcbiAgICAgICAgICAgIGNhbkFjdGl2YXRlOiBbbG9nZ2VkT3V0R3VhcmRdLFxyXG4gICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxyXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wcmVzZW50YXRpb24vbG9naW4tcGFnZS9sb2dpbi1wYWdlLmNvbXBvbmVudCcpLnRoZW4oeCA9PiB4LkxvZ2luUGFnZUNvbXBvbmVudCksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYXRoOiBhdXRoT3B0aW9ucy5sb2dvdXRQYXRoLFxyXG4gICAgICAgICAgICBjYW5BY3RpdmF0ZTogW3JvbGVHdWFyZCgpXSxcclxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcHJlc2VudGF0aW9uL2xvZ291dC1wYWdlL2xvZ291dC1wYWdlLmNvbXBvbmVudCcpLnRoZW4oeCA9PiB4LkxvZ291dFBhZ2VDb21wb25lbnQpLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGF0aDogYXV0aE9wdGlvbnMuZm9yZ290UGFzc3dvcmRQYXRoLFxyXG4gICAgICAgICAgICBjYW5BY3RpdmF0ZTogW2xvZ2dlZE91dEd1YXJkXSxcclxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcHJlc2VudGF0aW9uL2ZvcmdvdC1wYXNzd29yZC1wYWdlL2ZvcmdvdC1wYXNzd29yZC1wYWdlLmNvbXBvbmVudCcpLnRoZW4oXHJcbiAgICAgICAgICAgICAgICB4ID0+IHguRm9yZ290UGFzc3dvcmRQYWdlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHBhdGg6IGF1dGhPcHRpb25zLnJlc2V0UGFzc3dvcmRQYXRoLFxyXG4gICAgICAgICAgICBjYW5BY3RpdmF0ZTogW2xvZ2dlZE91dEd1YXJkXSxcclxuICAgICAgICAgICAgcmVzb2x2ZTogW3Jlc2V0UGFzc3dvcmRSZXNvbHZlcl0sXHJcbiAgICAgICAgICAgIGxvYWRDb21wb25lbnQ6ICgpID0+XHJcbiAgICAgICAgICAgICAgaW1wb3J0KCcuL3ByZXNlbnRhdGlvbi9yZXNldC1wYXNzd29yZC1wYWdlL3Jlc2V0LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50JykudGhlbihcclxuICAgICAgICAgICAgICAgIHggPT4geC5SZXNldFBhc3N3b3JkUGFnZUNvbXBvbmVudFxyXG4gICAgICAgICAgICAgICksXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBwYXRoOiBhdXRoT3B0aW9ucy5hY2Nlc3NEZW5pZWRQYXRoLFxyXG4gICAgICAgICAgICBsb2FkQ29tcG9uZW50OiAoKSA9PlxyXG4gICAgICAgICAgICAgIGltcG9ydCgnLi9wcmVzZW50YXRpb24vYWNjZXNzLWRlbmllZC1wYWdlL2FjY2Vzcy1kZW5pZWQtcGFnZS5jb21wb25lbnQnKS50aGVuKFxyXG4gICAgICAgICAgICAgICAgeCA9PiB4LkFjY2Vzc0RlbmllZFBhZ2VDb21wb25lbnRcclxuICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgcGF0aDogYXV0aE9wdGlvbnMuaW52YWxpZFRva2VuUGF0aCxcclxuICAgICAgICAgICAgbG9hZENvbXBvbmVudDogKCkgPT5cclxuICAgICAgICAgICAgICBpbXBvcnQoJy4vcHJlc2VudGF0aW9uL2ludmFsaWQtdG9rZW4tcGFnZS9pbnZhbGlkLXRva2VuLXBhZ2UuY29tcG9uZW50JykudGhlbihcclxuICAgICAgICAgICAgICAgIHggPT4geC5JbnZhbGlkVG9rZW5QYWdlQ29tcG9uZW50XHJcbiAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXSxcclxuICAgICAgfSxcclxuICAgIF07XHJcbiAgfVxyXG5cclxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKFtcclxuICAgIHsgcHJvdmlkZTogQkRCX09QVElPTlMsIHVzZVZhbHVlOiBvcHRpb25zIH0sXHJcbiAgICBwcm92aWRlSHR0cENsaWVudCh3aXRoSW50ZXJjZXB0b3JzKFt0b2tlbkludGVyY2VwdG9yLCB0b2tlbkV4cGlyZWRJbnRlcmNlcHRvcl0pKSxcclxuICAgIHByb3ZpZGVSb3V0ZXIoWy4uLnJvdXRlcywgLi4uYXV0aFJvdXRlc10pLFxyXG4gIF0pO1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MatCardModule } from '@angular/material/card';
|
|
3
|
+
import { BdbAlertComponent } from '../../common/alert/bdb-alert.component';
|
|
4
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
+
import { RouterLink } from '@angular/router';
|
|
6
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
7
|
+
import { BDB_OPTIONS } from '../../bdb-options';
|
|
8
|
+
import { CommonModule } from '@angular/common';
|
|
9
|
+
import { BdbFlexDirective } from '../../common/bdb-flex.directive';
|
|
10
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "../../domain/auth/auth.service";
|
|
13
|
+
import * as i2 from "@angular/common";
|
|
14
|
+
import * as i3 from "@angular/material/card";
|
|
15
|
+
import * as i4 from "@angular/material/button";
|
|
16
|
+
export class AccessDeniedPageComponent {
|
|
17
|
+
constructor(bdbOptions, authService) {
|
|
18
|
+
this.authService = authService;
|
|
19
|
+
this._onDestroy = new Subject();
|
|
20
|
+
this.isLoggedIn = true;
|
|
21
|
+
this.loginRoutePath = bdbOptions.authOptions?.loginPath;
|
|
22
|
+
this.logoutRoutePath = bdbOptions.authOptions?.logoutPath;
|
|
23
|
+
}
|
|
24
|
+
ngOnInit() {
|
|
25
|
+
this.authService.account$.pipe(takeUntil(this._onDestroy)).subscribe({
|
|
26
|
+
next: x => (this.isLoggedIn = x !== null),
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this._onDestroy.next();
|
|
31
|
+
this._onDestroy.complete();
|
|
32
|
+
}
|
|
33
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AccessDeniedPageComponent, deps: [{ token: BDB_OPTIONS }, { token: i1.AuthService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AccessDeniedPageComponent, isStandalone: true, selector: "bdb-access-denied-page", ngImport: i0, template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Toegang geweigerd</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"danger\" label=\"Geen toegang\" icon=\"block\">\r\n U heeft onvoldoende rechten voor de gevraagde toepassing\r\n </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button *ngIf=\"!isLoggedIn\">Inloggen</a>\r\n <a [routerLink]=\"['/', logoutRoutePath]\" mat-button *ngIf=\"isLoggedIn\">Uitloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: BdbFlexDirective, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: ["bdbFlex", "bdbFlexDirection", "bdbFlexGap", "bdbFlexSpacing"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AccessDeniedPageComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'bdb-access-denied-page', standalone: true, imports: [
|
|
39
|
+
CommonModule,
|
|
40
|
+
MatCardModule,
|
|
41
|
+
BdbAlertComponent,
|
|
42
|
+
MatButtonModule,
|
|
43
|
+
RouterLink,
|
|
44
|
+
MatIconModule,
|
|
45
|
+
BdbFlexDirective,
|
|
46
|
+
], template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Toegang geweigerd</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"danger\" label=\"Geen toegang\" icon=\"block\">\r\n U heeft onvoldoende rechten voor de gevraagde toepassing\r\n </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button *ngIf=\"!isLoggedIn\">Inloggen</a>\r\n <a [routerLink]=\"['/', logoutRoutePath]\" mat-button *ngIf=\"isLoggedIn\">Uitloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"] }]
|
|
47
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
48
|
+
type: Inject,
|
|
49
|
+
args: [BDB_OPTIONS]
|
|
50
|
+
}] }, { type: i1.AuthService }] });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzLWRlbmllZC1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvcHJlc2VudGF0aW9uL2FjY2Vzcy1kZW5pZWQtcGFnZS9hY2Nlc3MtZGVuaWVkLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vYWNjZXNzLWRlbmllZC1wYWdlL2FjY2Vzcy1kZW5pZWQtcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFDckUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQWlCMUMsTUFBTSxPQUFPLHlCQUF5QjtJQVFwQyxZQUN1QixVQUFzQixFQUNuQyxXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVRqQixlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUtsRCxlQUFVLEdBQUcsSUFBSSxDQUFDO1FBTWhCLElBQUksQ0FBQyxjQUFjLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7UUFDeEQsSUFBSSxDQUFDLGVBQWUsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLFVBQVUsQ0FBQztJQUM1RCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQ25FLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDO1NBQzFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OEdBekJVLHlCQUF5QixrQkFTMUIsV0FBVztrR0FUVix5QkFBeUIsa0ZDM0J0Qywyb0JBY0EsOEhERUksWUFBWSxrSUFDWixhQUFhLGtoQkFDYixpQkFBaUIsbUdBQ2pCLGVBQWUsNE1BQ2YsVUFBVSxtT0FDVixhQUFhLCtCQUNiLGdCQUFnQjs7MkZBS1AseUJBQXlCO2tCQWZyQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjs7MEJBYUUsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgQmRiQWxlcnRDb21wb25lbnQgfSBmcm9tICcuLi8uLi9jb21tb24vYWxlcnQvYmRiLWFsZXJ0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJEQl9PUFRJT05TLCBCZGJPcHRpb25zIH0gZnJvbSAnLi4vLi4vYmRiLW9wdGlvbnMnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hdXRoL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IEJkYkZsZXhEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb21tb24vYmRiLWZsZXguZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1hY2Nlc3MtZGVuaWVkLXBhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIEJkYkFsZXJ0Q29tcG9uZW50LFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgUm91dGVyTGluayxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBCZGJGbGV4RGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY2Vzcy1kZW5pZWQtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWNjZXNzLWRlbmllZC1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY2Nlc3NEZW5pZWRQYWdlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGxvZ2luUm91dGVQYXRoPzogc3RyaW5nO1xyXG4gIGxvZ291dFJvdXRlUGF0aD86IHN0cmluZztcclxuXHJcbiAgaXNMb2dnZWRJbiA9IHRydWU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9ucyxcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLmxvZ2luUm91dGVQYXRoID0gYmRiT3B0aW9ucy5hdXRoT3B0aW9ucz8ubG9naW5QYXRoO1xyXG4gICAgdGhpcy5sb2dvdXRSb3V0ZVBhdGggPSBiZGJPcHRpb25zLmF1dGhPcHRpb25zPy5sb2dvdXRQYXRoO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmFjY291bnQkLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHggPT4gKHRoaXMuaXNMb2dnZWRJbiA9IHggIT09IG51bGwpLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1jYXJkPlxyXG4gIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtdGl0bGU+VG9lZ2FuZyBnZXdlaWdlcmQ8L21hdC1jYXJkLXRpdGxlPlxyXG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiYWNjZXNzLWRlbmllZC1jYXJkLWNvbnRlbnRcIj5cclxuICAgIDxiZGItYWxlcnQgY29sb3I9XCJkYW5nZXJcIiBsYWJlbD1cIkdlZW4gdG9lZ2FuZ1wiIGljb249XCJibG9ja1wiPlxyXG4gICAgICBVIGhlZWZ0IG9udm9sZG9lbmRlIHJlY2h0ZW4gdm9vciBkZSBnZXZyYWFnZGUgdG9lcGFzc2luZ1xyXG4gICAgPC9iZGItYWxlcnQ+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGJkYkZsZXg9XCJyb3cgMCBlbmQgY2VudGVyXCI+XHJcbiAgICA8YSBbcm91dGVyTGlua109XCJbJy8nLCBsb2dpblJvdXRlUGF0aF1cIiBtYXQtYnV0dG9uICpuZ0lmPVwiIWlzTG9nZ2VkSW5cIj5JbmxvZ2dlbjwvYT5cclxuICAgIDxhIFtyb3V0ZXJMaW5rXT1cIlsnLycsIGxvZ291dFJvdXRlUGF0aF1cIiBtYXQtYnV0dG9uICpuZ0lmPVwiaXNMb2dnZWRJblwiPlVpdGxvZ2dlbjwvYT5cclxuICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbjwvbWF0LWNhcmQ+XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import { RouterOutlet } from '@angular/router';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class AuthContainerComponent {
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AuthContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: AuthContainerComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<router-outlet></router-outlet>\r\n", styles: [":host{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"], dependencies: [{ kind: "directive", type: RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] }); }
|
|
7
|
+
}
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: AuthContainerComponent, decorators: [{
|
|
9
|
+
type: Component,
|
|
10
|
+
args: [{ standalone: true, imports: [RouterOutlet], template: "<router-outlet></router-outlet>\r\n", styles: [":host{width:100%;height:100%;display:flex;justify-content:center;align-items:center}\n"] }]
|
|
11
|
+
}] });
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC1jb250YWluZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vYXV0aC1jb250YWluZXIvYXV0aC1jb250YWluZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vYXV0aC1jb250YWluZXIvYXV0aC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBTy9DLE1BQU0sT0FBTyxzQkFBc0I7OEdBQXRCLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHdFQ1JuQyxxQ0FDQSxnSkRHWSxZQUFZOzsyRkFJWCxzQkFBc0I7a0JBTmxDLFNBQVM7aUNBQ0ksSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJvdXRlck91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbkBDb21wb25lbnQoe1xyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1JvdXRlck91dGxldF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2F1dGgtY29udGFpbmVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hdXRoLWNvbnRhaW5lci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aENvbnRhaW5lckNvbXBvbmVudCB7fVxyXG4iLCI8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
4
|
+
import { MatCardModule } from '@angular/material/card';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
+
import { RouterLink } from '@angular/router';
|
|
9
|
+
import { BDB_OPTIONS } from '../../bdb-options';
|
|
10
|
+
import { BdbAlertComponent } from '../../common/alert/bdb-alert.component';
|
|
11
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
12
|
+
import { BdbAlertErrorResponseComponent } from '../../common/alert-error-response/bdb-alert-error-response.component';
|
|
13
|
+
import * as i0 from "@angular/core";
|
|
14
|
+
import * as i1 from "../../domain/auth/auth.service";
|
|
15
|
+
import * as i2 from "@angular/common";
|
|
16
|
+
import * as i3 from "@angular/forms";
|
|
17
|
+
import * as i4 from "@angular/material/card";
|
|
18
|
+
import * as i5 from "@angular/material/form-field";
|
|
19
|
+
import * as i6 from "@angular/material/input";
|
|
20
|
+
import * as i7 from "@angular/material/icon";
|
|
21
|
+
import * as i8 from "@angular/material/button";
|
|
22
|
+
export class ForgotPasswordPageComponent {
|
|
23
|
+
constructor(authService, bdbOptions) {
|
|
24
|
+
this.authService = authService;
|
|
25
|
+
this.emailCtrl = new FormControl('', { validators: [Validators.required, Validators.email], nonNullable: true });
|
|
26
|
+
this.isComplete = false;
|
|
27
|
+
this.isPending = false;
|
|
28
|
+
this.forgotPasswordForm = new FormGroup({
|
|
29
|
+
email: this.emailCtrl,
|
|
30
|
+
});
|
|
31
|
+
this.loginRoutePath = bdbOptions.authOptions?.loginPath;
|
|
32
|
+
}
|
|
33
|
+
forgotPassword() {
|
|
34
|
+
if (this.isPending || !this.forgotPasswordForm.valid) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
this.isPending = true;
|
|
38
|
+
this.error = undefined;
|
|
39
|
+
const formValue = this.forgotPasswordForm.getRawValue();
|
|
40
|
+
this.forgotPasswordForm.disable();
|
|
41
|
+
this.authService.forgotPassword(formValue).subscribe({
|
|
42
|
+
next: () => {
|
|
43
|
+
this.isComplete = true;
|
|
44
|
+
this.isPending = false;
|
|
45
|
+
this.forgotPasswordForm.enable();
|
|
46
|
+
},
|
|
47
|
+
error: e => {
|
|
48
|
+
this.error = e;
|
|
49
|
+
this.isPending = false;
|
|
50
|
+
this.forgotPasswordForm.enable();
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ForgotPasswordPageComponent, deps: [{ token: i1.AuthService }, { token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: ForgotPasswordPageComponent, isStandalone: true, selector: "bdb-forgot-password-page", ngImport: i0, template: "<form [formGroup]=\"forgotPasswordForm\" (ngSubmit)=\"forgotPassword()\" *ngIf=\"!isComplete; else isCompleteTemplate\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Wachtwoord vergeten</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"forgot-password-page-card-content\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-page-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>E-mailadres</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <!-- <mat-error *ngIf=\"emailCtrl.errors\">{{ emailCtrl | bdbErrorMessage }}</mat-error> -->\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions class=\"forgot-password-page-card-actions\">\r\n <a mat-button [routerLink]=\"['/', loginRoutePath]\" [disabled]=\"isPending\">\r\n <mat-icon>login</mat-icon>\r\n <span>Log in</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>lock_reset</mat-icon>\r\n <span>Herstel wachtwoord</span>\r\n </button></mat-card-actions\r\n >\r\n </mat-card>\r\n</form>\r\n\r\n<ng-template #isCompleteTemplate>\r\n <bdb-alert color=\"success\" label=\"Wachtwoord herstel gestart\"> Controleer uw e-mail voor instructies </bdb-alert>\r\n</ng-template>\r\n", styles: [":host{width:360px}.forgot-password-page-card-content{display:flex;flex-direction:column;margin-top:16px}.forgot-password-page-card-actions{gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i4.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i4.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i4.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i4.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i4.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatFormFieldModule }, { 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: "ngmodule", type: MatInputModule }, { kind: "directive", type: i6.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: "ngmodule", type: MatIconModule }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: BdbAlertErrorResponseComponent, selector: "bdb-alert-error-response", inputs: ["value"] }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i8.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }] }); }
|
|
56
|
+
}
|
|
57
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: ForgotPasswordPageComponent, decorators: [{
|
|
58
|
+
type: Component,
|
|
59
|
+
args: [{ selector: 'bdb-forgot-password-page', standalone: true, imports: [
|
|
60
|
+
CommonModule,
|
|
61
|
+
ReactiveFormsModule,
|
|
62
|
+
MatCardModule,
|
|
63
|
+
MatFormFieldModule,
|
|
64
|
+
MatInputModule,
|
|
65
|
+
MatIconModule,
|
|
66
|
+
RouterLink,
|
|
67
|
+
BdbAlertErrorResponseComponent,
|
|
68
|
+
BdbAlertComponent,
|
|
69
|
+
MatButtonModule,
|
|
70
|
+
], template: "<form [formGroup]=\"forgotPasswordForm\" (ngSubmit)=\"forgotPassword()\" *ngIf=\"!isComplete; else isCompleteTemplate\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Wachtwoord vergeten</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"forgot-password-page-card-content\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-page-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>E-mailadres</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <!-- <mat-error *ngIf=\"emailCtrl.errors\">{{ emailCtrl | bdbErrorMessage }}</mat-error> -->\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions class=\"forgot-password-page-card-actions\">\r\n <a mat-button [routerLink]=\"['/', loginRoutePath]\" [disabled]=\"isPending\">\r\n <mat-icon>login</mat-icon>\r\n <span>Log in</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>lock_reset</mat-icon>\r\n <span>Herstel wachtwoord</span>\r\n </button></mat-card-actions\r\n >\r\n </mat-card>\r\n</form>\r\n\r\n<ng-template #isCompleteTemplate>\r\n <bdb-alert color=\"success\" label=\"Wachtwoord herstel gestart\"> Controleer uw e-mail voor instructies </bdb-alert>\r\n</ng-template>\r\n", styles: [":host{width:360px}.forgot-password-page-card-content{display:flex;flex-direction:column;margin-top:16px}.forgot-password-page-card-actions{gap:8px;justify-content:flex-end}\n"] }]
|
|
71
|
+
}], ctorParameters: () => [{ type: i1.AuthService }, { type: undefined, decorators: [{
|
|
72
|
+
type: Inject,
|
|
73
|
+
args: [BDB_OPTIONS]
|
|
74
|
+
}] }] });
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vZm9yZ290LXBhc3N3b3JkLXBhZ2UvZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vZm9yZ290LXBhc3N3b3JkLXBhZ2UvZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUUsV0FBVyxFQUFjLE1BQU0sbUJBQW1CLENBQUM7QUFFNUQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDOzs7Ozs7Ozs7O0FBcUJ0SCxNQUFNLE9BQU8sMkJBQTJCO0lBY3RDLFlBQ1UsV0FBd0IsRUFDWCxVQUFzQjtRQURuQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQVpsQyxjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFFNUcsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBSWxCLHVCQUFrQixHQUFHLElBQUksU0FBUyxDQUFDO1lBQ2pDLEtBQUssRUFBRSxJQUFJLENBQUMsU0FBUztTQUN0QixDQUFDLENBQUM7UUFNRCxJQUFJLENBQUMsY0FBYyxHQUFHLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDO0lBQzFELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ3JELE9BQU87UUFDVCxDQUFDO1FBQ0QsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDdkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUVsQyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDbkQsSUFBSSxFQUFFLEdBQUcsRUFBRTtnQkFDVCxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuQyxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFO2dCQUNULElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO2dCQUNmLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbkMsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBMUNVLDJCQUEyQiw2Q0FnQjVCLFdBQVc7a0dBaEJWLDJCQUEyQixvRkNqQ3hDLGsyQ0E2QkEsdU9EVkksWUFBWSxrSUFDWixtQkFBbUIsNDhCQUNuQixhQUFhLGloQkFDYixrQkFBa0IsMFNBQ2xCLGNBQWMsMFdBQ2QsYUFBYSxvTEFDYixVQUFVLG9PQUNWLDhCQUE4Qix3RkFDOUIsaUJBQWlCLG1HQUNqQixlQUFlOzsyRkFLTiwyQkFBMkI7a0JBbEJ2QyxTQUFTOytCQUNFLDBCQUEwQixjQUN4QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixtQkFBbUI7d0JBQ25CLGFBQWE7d0JBQ2Isa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsVUFBVTt3QkFDViw4QkFBOEI7d0JBQzlCLGlCQUFpQjt3QkFDakIsZUFBZTtxQkFDaEI7OzBCQW9CRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRDYXJkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2FyZCc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMsIEJkYk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iZGItb3B0aW9ucyc7XHJcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBCZGJBbGVydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9hbGVydC9iZGItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgQmRiQWxlcnRFcnJvclJlc3BvbnNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2FsZXJ0LWVycm9yLXJlc3BvbnNlL2JkYi1hbGVydC1lcnJvci1yZXNwb25zZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hdXRoL2F1dGguc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1mb3Jnb3QtcGFzc3dvcmQtcGFnZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Q2FyZE1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIFJvdXRlckxpbmssXHJcbiAgICBCZGJBbGVydEVycm9yUmVzcG9uc2VDb21wb25lbnQsXHJcbiAgICBCZGJBbGVydENvbXBvbmVudCxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mb3Jnb3QtcGFzc3dvcmQtcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9yZ290LXBhc3N3b3JkLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcmdvdFBhc3N3b3JkUGFnZUNvbXBvbmVudCB7XHJcbiAgbG9naW5Sb3V0ZVBhdGg/OiBzdHJpbmc7XHJcblxyXG4gIGVtYWlsQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJywgeyB2YWxpZGF0b3JzOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgVmFsaWRhdG9ycy5lbWFpbF0sIG5vbk51bGxhYmxlOiB0cnVlIH0pO1xyXG5cclxuICBpc0NvbXBsZXRlID0gZmFsc2U7XHJcbiAgaXNQZW5kaW5nID0gZmFsc2U7XHJcblxyXG4gIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2U7XHJcblxyXG4gIGZvcmdvdFBhc3N3b3JkRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgZW1haWw6IHRoaXMuZW1haWxDdHJsLFxyXG4gIH0pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxyXG4gICAgQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9uc1xyXG4gICkge1xyXG4gICAgdGhpcy5sb2dpblJvdXRlUGF0aCA9IGJkYk9wdGlvbnMuYXV0aE9wdGlvbnM/LmxvZ2luUGF0aDtcclxuICB9XHJcblxyXG4gIGZvcmdvdFBhc3N3b3JkKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaXNQZW5kaW5nIHx8ICF0aGlzLmZvcmdvdFBhc3N3b3JkRm9ybS52YWxpZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzUGVuZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmVycm9yID0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgZm9ybVZhbHVlID0gdGhpcy5mb3Jnb3RQYXNzd29yZEZvcm0uZ2V0UmF3VmFsdWUoKTtcclxuICAgIHRoaXMuZm9yZ290UGFzc3dvcmRGb3JtLmRpc2FibGUoKTtcclxuXHJcbiAgICB0aGlzLmF1dGhTZXJ2aWNlLmZvcmdvdFBhc3N3b3JkKGZvcm1WYWx1ZSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuaXNDb21wbGV0ZSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5pc1BlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmZvcmdvdFBhc3N3b3JkRm9ybS5lbmFibGUoKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlO1xyXG4gICAgICAgIHRoaXMuaXNQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5mb3Jnb3RQYXNzd29yZEZvcm0uZW5hYmxlKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJmb3Jnb3RQYXNzd29yZEZvcm1cIiAobmdTdWJtaXQpPVwiZm9yZ290UGFzc3dvcmQoKVwiICpuZ0lmPVwiIWlzQ29tcGxldGU7IGVsc2UgaXNDb21wbGV0ZVRlbXBsYXRlXCI+XHJcbiAgPG1hdC1jYXJkPlxyXG4gICAgPG1hdC1jYXJkLWhlYWRlcj5cclxuICAgICAgPG1hdC1jYXJkLXRpdGxlPldhY2h0d29vcmQgdmVyZ2V0ZW48L21hdC1jYXJkLXRpdGxlPlxyXG4gICAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtY29udGVudCBjbGFzcz1cImZvcmdvdC1wYXNzd29yZC1wYWdlLWNhcmQtY29udGVudFwiPlxyXG4gICAgICA8YmRiLWFsZXJ0LWVycm9yLXJlc3BvbnNlIFt2YWx1ZV09XCJlcnJvclwiIGNsYXNzPVwibG9naW4tcGFnZS1lcnJvci1yZXNwb25zZVwiPjwvYmRiLWFsZXJ0LWVycm9yLXJlc3BvbnNlPlxyXG4gICAgICA8bWF0LWZvcm0tZmllbGQ+XHJcbiAgICAgICAgPG1hdC1sYWJlbD5FLW1haWxhZHJlczwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwiZW1haWxcIiBmb3JtQ29udHJvbE5hbWU9XCJlbWFpbFwiIC8+XHJcbiAgICAgICAgPCEtLSA8bWF0LWVycm9yICpuZ0lmPVwiZW1haWxDdHJsLmVycm9yc1wiPnt7IGVtYWlsQ3RybCB8IGJkYkVycm9yTWVzc2FnZSB9fTwvbWF0LWVycm9yPiAtLT5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgIDwvbWF0LWNhcmQtY29udGVudD5cclxuICAgIDxtYXQtY2FyZC1hY3Rpb25zIGNsYXNzPVwiZm9yZ290LXBhc3N3b3JkLXBhZ2UtY2FyZC1hY3Rpb25zXCI+XHJcbiAgICAgIDxhIG1hdC1idXR0b24gW3JvdXRlckxpbmtdPVwiWycvJywgbG9naW5Sb3V0ZVBhdGhdXCIgW2Rpc2FibGVkXT1cImlzUGVuZGluZ1wiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5sb2dpbjwvbWF0LWljb24+XHJcbiAgICAgICAgPHNwYW4+TG9nIGluPC9zcGFuPlxyXG4gICAgICA8L2E+XHJcbiAgICAgIDxidXR0b24gbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5sb2NrX3Jlc2V0PC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5IZXJzdGVsIHdhY2h0d29vcmQ8L3NwYW4+XHJcbiAgICAgIDwvYnV0dG9uPjwvbWF0LWNhcmQtYWN0aW9uc1xyXG4gICAgPlxyXG4gIDwvbWF0LWNhcmQ+XHJcbjwvZm9ybT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaXNDb21wbGV0ZVRlbXBsYXRlPlxyXG4gIDxiZGItYWxlcnQgY29sb3I9XCJzdWNjZXNzXCIgbGFiZWw9XCJXYWNodHdvb3JkIGhlcnN0ZWwgZ2VzdGFydFwiPiBDb250cm9sZWVyIHV3IGUtbWFpbCB2b29yIGluc3RydWN0aWVzIDwvYmRiLWFsZXJ0PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { MatCardModule } from '@angular/material/card';
|
|
4
|
+
import { BdbAlertComponent } from '../../common/alert/bdb-alert.component';
|
|
5
|
+
import { BDB_OPTIONS } from '../../bdb-options';
|
|
6
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
+
import { RouterLink } from '@angular/router';
|
|
8
|
+
import { BdbFlexDirective } from '../../common/bdb-flex.directive';
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
import * as i1 from "@angular/material/card";
|
|
11
|
+
import * as i2 from "@angular/material/button";
|
|
12
|
+
export class InvalidTokenPageComponent {
|
|
13
|
+
constructor(bdbOptions) {
|
|
14
|
+
this.loginRoutePath = bdbOptions.authOptions?.loginPath;
|
|
15
|
+
}
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InvalidTokenPageComponent, deps: [{ token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
17
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: InvalidTokenPageComponent, isStandalone: true, selector: "bdb-invalid-token-page", ngImport: i0, template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Ongeldig token</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"warn\" label=\"Verlopen\" icon=\"block\"> Uw wachtwoord herstel link is niet (meer) geldig </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button>Inloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: BdbFlexDirective, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: ["bdbFlex", "bdbFlexDirection", "bdbFlexGap", "bdbFlexSpacing"] }] }); }
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: InvalidTokenPageComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'bdb-invalid-token-page', standalone: true, imports: [CommonModule, MatCardModule, BdbAlertComponent, MatButtonModule, RouterLink, BdbFlexDirective], template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Ongeldig token</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"access-denied-card-content\">\r\n <bdb-alert color=\"warn\" label=\"Verlopen\" icon=\"block\"> Uw wachtwoord herstel link is niet (meer) geldig </bdb-alert>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 0 end center\">\r\n <a [routerLink]=\"['/', loginRoutePath]\" mat-button>Inloggen</a>\r\n </mat-card-actions>\r\n</mat-card>\r\n", styles: [":host{min-width:360px}.access-denied-card-content{padding:8px 16px}\n"] }]
|
|
22
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
23
|
+
type: Inject,
|
|
24
|
+
args: [BDB_OPTIONS]
|
|
25
|
+
}] }] });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZC10b2tlbi1wYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvcHJlc2VudGF0aW9uL2ludmFsaWQtdG9rZW4tcGFnZS9pbnZhbGlkLXRva2VuLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vaW52YWxpZC10b2tlbi1wYWdlL2ludmFsaWQtdG9rZW4tcGFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBU25FLE1BQU0sT0FBTyx5QkFBeUI7SUFHcEMsWUFBaUMsVUFBc0I7UUFDckQsSUFBSSxDQUFDLGNBQWMsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQztJQUMxRCxDQUFDOzhHQUxVLHlCQUF5QixrQkFHaEIsV0FBVztrR0FIcEIseUJBQXlCLGtGQ2hCdEMsb2ZBV0EsOEhEQ1ksWUFBWSw4QkFBRSxhQUFhLGtoQkFBRSxpQkFBaUIsbUdBQUUsZUFBZSw0TUFBRSxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBSTVGLHlCQUF5QjtrQkFQckMsU0FBUzsrQkFDRSx3QkFBd0IsY0FDdEIsSUFBSSxXQUNQLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLGdCQUFnQixDQUFDOzswQkFPM0YsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBCZGJBbGVydENvbXBvbmVudCB9IGZyb20gJy4uLy4uL2NvbW1vbi9hbGVydC9iZGItYWxlcnQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMsIEJkYk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iZGItb3B0aW9ucyc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBCZGJGbGV4RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29tbW9uL2JkYi1mbGV4LmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1pbnZhbGlkLXRva2VuLXBhZ2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0Q2FyZE1vZHVsZSwgQmRiQWxlcnRDb21wb25lbnQsIE1hdEJ1dHRvbk1vZHVsZSwgUm91dGVyTGluaywgQmRiRmxleERpcmVjdGl2ZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ludmFsaWQtdG9rZW4tcGFnZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW52YWxpZC10b2tlbi1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBJbnZhbGlkVG9rZW5QYWdlQ29tcG9uZW50IHtcclxuICBsb2dpblJvdXRlUGF0aD86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9ucykge1xyXG4gICAgdGhpcy5sb2dpblJvdXRlUGF0aCA9IGJkYk9wdGlvbnMuYXV0aE9wdGlvbnM/LmxvZ2luUGF0aDtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1jYXJkPlxyXG4gIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICA8bWF0LWNhcmQtdGl0bGU+T25nZWxkaWcgdG9rZW48L21hdC1jYXJkLXRpdGxlPlxyXG4gIDwvbWF0LWNhcmQtaGVhZGVyPlxyXG4gIDxtYXQtY2FyZC1jb250ZW50IGNsYXNzPVwiYWNjZXNzLWRlbmllZC1jYXJkLWNvbnRlbnRcIj5cclxuICAgIDxiZGItYWxlcnQgY29sb3I9XCJ3YXJuXCIgbGFiZWw9XCJWZXJsb3BlblwiIGljb249XCJibG9ja1wiPiBVdyB3YWNodHdvb3JkIGhlcnN0ZWwgbGluayBpcyBuaWV0IChtZWVyKSBnZWxkaWcgPC9iZGItYWxlcnQ+XHJcbiAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gIDxtYXQtY2FyZC1hY3Rpb25zIGJkYkZsZXg9XCJyb3cgMCBlbmQgY2VudGVyXCI+XHJcbiAgICA8YSBbcm91dGVyTGlua109XCJbJy8nLCBsb2dpblJvdXRlUGF0aF1cIiBtYXQtYnV0dG9uPklubG9nZ2VuPC9hPlxyXG4gIDwvbWF0LWNhcmQtYWN0aW9ucz5cclxuPC9tYXQtY2FyZD5cclxuIl19
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { inject } from '@angular/core';
|
|
2
|
+
import { Router } from '@angular/router';
|
|
3
|
+
import { AuthService } from '../domain/auth/auth.service';
|
|
4
|
+
import { BDB_OPTIONS } from '../bdb-options';
|
|
5
|
+
export const loggedOutGuard = (_, state) => {
|
|
6
|
+
const authService = inject(AuthService);
|
|
7
|
+
const router = inject(Router);
|
|
8
|
+
const bdbOptions = inject(BDB_OPTIONS);
|
|
9
|
+
const isLoggedIn = !!authService.account$.getValue();
|
|
10
|
+
return isLoggedIn
|
|
11
|
+
? router.createUrlTree([`/${bdbOptions.authOptions?.logoutPath}`], {
|
|
12
|
+
queryParams: { returnUrl: state.url },
|
|
13
|
+
})
|
|
14
|
+
: true;
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VkLW91dC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvcHJlc2VudGF0aW9uL2xvZ2dlZC1vdXQuZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQWlCLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRTtJQUN4RCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUN2QyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUVyRCxPQUFPLFVBQVU7UUFDZixDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFO1lBQy9ELFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFO1NBQ3RDLENBQUM7UUFDSixDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ1gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENhbkFjdGl2YXRlRm4sIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vZG9tYWluL2F1dGgvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMgfSBmcm9tICcuLi9iZGItb3B0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgbG9nZ2VkT3V0R3VhcmQ6IENhbkFjdGl2YXRlRm4gPSAoXywgc3RhdGUpID0+IHtcclxuICBjb25zdCBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XHJcbiAgY29uc3Qgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XHJcbiAgY29uc3QgYmRiT3B0aW9ucyA9IGluamVjdChCREJfT1BUSU9OUyk7XHJcbiAgY29uc3QgaXNMb2dnZWRJbiA9ICEhYXV0aFNlcnZpY2UuYWNjb3VudCQuZ2V0VmFsdWUoKTtcclxuXHJcbiAgcmV0dXJuIGlzTG9nZ2VkSW5cclxuICAgID8gcm91dGVyLmNyZWF0ZVVybFRyZWUoW2AvJHtiZGJPcHRpb25zLmF1dGhPcHRpb25zPy5sb2dvdXRQYXRofWBdLCB7XHJcbiAgICAgICAgcXVlcnlQYXJhbXM6IHsgcmV0dXJuVXJsOiBzdGF0ZS51cmwgfSxcclxuICAgICAgfSlcclxuICAgIDogdHJ1ZTtcclxufTtcclxuIl19
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { Inject, Component } from '@angular/core';
|
|
2
|
+
import { FormControl, FormGroup, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
3
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
4
|
+
import { MatInputModule } from '@angular/material/input';
|
|
5
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
6
|
+
import { BDB_OPTIONS } from '../../bdb-options';
|
|
7
|
+
import { RouterLink } from '@angular/router';
|
|
8
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
9
|
+
import { MatCardModule } from '@angular/material/card';
|
|
10
|
+
import { BdbFlexDirective } from '../../common/bdb-flex.directive';
|
|
11
|
+
import { CommonModule } from '@angular/common';
|
|
12
|
+
import { BdbFormErrorDirective } from '../../common/bdb-form-error.directive';
|
|
13
|
+
import { BdbAlertErrorResponseComponent } from '../../common/alert-error-response/bdb-alert-error-response.component';
|
|
14
|
+
import * as i0 from "@angular/core";
|
|
15
|
+
import * as i1 from "@angular/router";
|
|
16
|
+
import * as i2 from "../../domain/auth/auth.service";
|
|
17
|
+
import * as i3 from "@angular/forms";
|
|
18
|
+
import * as i4 from "@angular/material/form-field";
|
|
19
|
+
import * as i5 from "@angular/material/input";
|
|
20
|
+
import * as i6 from "@angular/material/icon";
|
|
21
|
+
import * as i7 from "@angular/material/button";
|
|
22
|
+
import * as i8 from "@angular/material/card";
|
|
23
|
+
export class LoginPageComponent {
|
|
24
|
+
constructor(router, authService, route, bdbOptions) {
|
|
25
|
+
this.router = router;
|
|
26
|
+
this.authService = authService;
|
|
27
|
+
this.route = route;
|
|
28
|
+
this.emailCtrl = new FormControl('', {
|
|
29
|
+
validators: [Validators.required, Validators.email],
|
|
30
|
+
nonNullable: true,
|
|
31
|
+
});
|
|
32
|
+
this.passwordCtrl = new FormControl('', { validators: [Validators.required], nonNullable: true });
|
|
33
|
+
this.postLoginUrl = '/';
|
|
34
|
+
this.isPending = false;
|
|
35
|
+
this.loginForm = new FormGroup({
|
|
36
|
+
email: this.emailCtrl,
|
|
37
|
+
password: this.passwordCtrl,
|
|
38
|
+
});
|
|
39
|
+
this.forgotPasswordRoutePath = bdbOptions.authOptions?.forgotPasswordPath;
|
|
40
|
+
}
|
|
41
|
+
ngOnInit() {
|
|
42
|
+
this.route.queryParams.subscribe({
|
|
43
|
+
next: x => (this.postLoginUrl = x['returnUrl'] ?? '/'),
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
login() {
|
|
47
|
+
this.loginForm.markAllAsTouched();
|
|
48
|
+
if (this.isPending || !this.loginForm.valid) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
this.isPending = true;
|
|
52
|
+
this.error = undefined;
|
|
53
|
+
const formValue = this.loginForm.getRawValue();
|
|
54
|
+
this.loginForm.disable();
|
|
55
|
+
this.authService.login(formValue).subscribe({
|
|
56
|
+
next: () => {
|
|
57
|
+
this.isPending = false;
|
|
58
|
+
this.loginForm.enable();
|
|
59
|
+
this.router.navigate([this.postLoginUrl]);
|
|
60
|
+
},
|
|
61
|
+
error: e => {
|
|
62
|
+
this.error = e;
|
|
63
|
+
this.isPending = false;
|
|
64
|
+
this.loginForm.enable();
|
|
65
|
+
},
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LoginPageComponent, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: i1.ActivatedRoute }, { token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
69
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: LoginPageComponent, isStandalone: true, selector: "bdb-login-page", ngImport: i0, template: "<form [formGroup]=\"loginForm\" (ngSubmit)=\"login()\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Inloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content bdbFlex=\"col\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-form-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <mat-error bdbFormError=\"email\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Wachtwoord</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" />\r\n <mat-error bdbFormError=\"password\"></mat-error>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 8px end center\">\r\n <a mat-button [routerLink]=\"['/', forgotPasswordRoutePath]\">\r\n <mat-icon>contact_support</mat-icon>\r\n <span>Wachtwoord vergeten</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>login</mat-icon>\r\n <span>Inloggen</span>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</form>\r\n", styles: [":host{width:360px}.login-form-error-response{margin:8px 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.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: "ngmodule", type: MatIconModule }, { kind: "component", type: i6.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i7.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i8.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i8.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i8.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i8.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i8.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "component", type: BdbAlertErrorResponseComponent, selector: "bdb-alert-error-response", inputs: ["value"] }, { kind: "directive", type: BdbFlexDirective, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: ["bdbFlex", "bdbFlexDirection", "bdbFlexGap", "bdbFlexSpacing"] }, { kind: "directive", type: BdbFormErrorDirective, selector: "[bdbFormError]", inputs: ["bdbFormError"] }] }); }
|
|
70
|
+
}
|
|
71
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LoginPageComponent, decorators: [{
|
|
72
|
+
type: Component,
|
|
73
|
+
args: [{ selector: 'bdb-login-page', standalone: true, imports: [
|
|
74
|
+
CommonModule,
|
|
75
|
+
ReactiveFormsModule,
|
|
76
|
+
MatFormFieldModule,
|
|
77
|
+
MatInputModule,
|
|
78
|
+
MatIconModule,
|
|
79
|
+
MatButtonModule,
|
|
80
|
+
RouterLink,
|
|
81
|
+
MatCardModule,
|
|
82
|
+
BdbAlertErrorResponseComponent,
|
|
83
|
+
BdbFlexDirective,
|
|
84
|
+
BdbFormErrorDirective,
|
|
85
|
+
], template: "<form [formGroup]=\"loginForm\" (ngSubmit)=\"login()\">\r\n <mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Inloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content bdbFlex=\"col\">\r\n <bdb-alert-error-response [value]=\"error\" class=\"login-form-error-response\"></bdb-alert-error-response>\r\n <mat-form-field>\r\n <mat-label>Gebruikersnaam</mat-label>\r\n <input matInput type=\"email\" formControlName=\"email\" />\r\n <mat-error bdbFormError=\"email\"></mat-error>\r\n </mat-form-field>\r\n <mat-form-field>\r\n <mat-label>Wachtwoord</mat-label>\r\n <input matInput type=\"password\" formControlName=\"password\" />\r\n <mat-error bdbFormError=\"password\"></mat-error>\r\n </mat-form-field>\r\n </mat-card-content>\r\n <mat-card-actions bdbFlex=\"row 8px end center\">\r\n <a mat-button [routerLink]=\"['/', forgotPasswordRoutePath]\">\r\n <mat-icon>contact_support</mat-icon>\r\n <span>Wachtwoord vergeten</span>\r\n </a>\r\n <button mat-flat-button color=\"primary\">\r\n <mat-icon>login</mat-icon>\r\n <span>Inloggen</span>\r\n </button>\r\n </mat-card-actions>\r\n </mat-card>\r\n</form>\r\n", styles: [":host{width:360px}.login-form-error-response{margin:8px 0}\n"] }]
|
|
86
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }, { type: i1.ActivatedRoute }, { type: undefined, decorators: [{
|
|
87
|
+
type: Inject,
|
|
88
|
+
args: [BDB_OPTIONS]
|
|
89
|
+
}] }] });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4tcGFnZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL3ByZXNlbnRhdGlvbi9sb2dpbi1wYWdlL2xvZ2luLXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vbG9naW4tcGFnZS9sb2dpbi1wYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLG1CQUFtQixFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFdBQVcsRUFBYyxNQUFNLG1CQUFtQixDQUFDO0FBRTVELE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDOUUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sc0VBQXNFLENBQUM7Ozs7Ozs7Ozs7QUFxQnRILE1BQU0sT0FBTyxrQkFBa0I7SUFvQjdCLFlBQ1UsTUFBYyxFQUNkLFdBQXdCLEVBQ3hCLEtBQXFCLEVBQ1IsVUFBc0I7UUFIbkMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ3hCLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBcEIvQixjQUFTLEdBQUcsSUFBSSxXQUFXLENBQUMsRUFBRSxFQUFFO1lBQzlCLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsVUFBVSxDQUFDLEtBQUssQ0FBQztZQUNuRCxXQUFXLEVBQUUsSUFBSTtTQUNsQixDQUFDLENBQUM7UUFDSCxpQkFBWSxHQUFHLElBQUksV0FBVyxDQUFDLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUk3RixpQkFBWSxHQUFHLEdBQUcsQ0FBQztRQUVuQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBRWxCLGNBQVMsR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFNBQVM7WUFDckIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQzVCLENBQUMsQ0FBQztRQVFELElBQUksQ0FBQyx1QkFBdUIsR0FBRyxVQUFVLENBQUMsV0FBVyxFQUFFLGtCQUFrQixDQUFDO0lBQzVFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDO1lBQy9CLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxDQUFDO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRWxDLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDNUMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDO1lBQzFDLElBQUksRUFBRSxHQUFHLEVBQUU7Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDNUMsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDVCxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztnQkFDZixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0EzRFUsa0JBQWtCLGlHQXdCbkIsV0FBVztrR0F4QlYsa0JBQWtCLDBFQ25DL0IsZ3ZDQThCQSxxSERWSSxZQUFZLDhCQUNaLG1CQUFtQiw0OEJBQ25CLGtCQUFrQix1WUFDbEIsY0FBYywwV0FDZCxhQUFhLG1MQUNiLGVBQWUseVlBQ2YsVUFBVSxtT0FDVixhQUFhLGtoQkFDYiw4QkFBOEIsd0ZBQzlCLGdCQUFnQixtTEFDaEIscUJBQXFCOzsyRkFLWixrQkFBa0I7a0JBbkI5QixTQUFTOytCQUNFLGdCQUFnQixjQUNkLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLG1CQUFtQjt3QkFDbkIsa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLGFBQWE7d0JBQ2IsZUFBZTt3QkFDZixVQUFVO3dCQUNWLGFBQWE7d0JBQ2IsOEJBQThCO3dCQUM5QixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7OzBCQTRCRSxNQUFNOzJCQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xyXG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBCREJfT1BUSU9OUywgQmRiT3B0aW9ucyB9IGZyb20gJy4uLy4uL2JkYi1vcHRpb25zJztcclxuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIsIFJvdXRlckxpbmsgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uL2RvbWFpbi9hdXRoL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XHJcbmltcG9ydCB7IE1hdENhcmRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jYXJkJztcclxuaW1wb3J0IHsgQmRiRmxleERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvbW1vbi9iZGItZmxleC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCZGJGb3JtRXJyb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb21tb24vYmRiLWZvcm0tZXJyb3IuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQmRiQWxlcnRFcnJvclJlc3BvbnNlQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vY29tbW9uL2FsZXJ0LWVycm9yLXJlc3BvbnNlL2JkYi1hbGVydC1lcnJvci1yZXNwb25zZS5jb21wb25lbnQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiZGItbG9naW4tcGFnZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxyXG4gICAgTWF0SW5wdXRNb2R1bGUsXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgUm91dGVyTGluayxcclxuICAgIE1hdENhcmRNb2R1bGUsXHJcbiAgICBCZGJBbGVydEVycm9yUmVzcG9uc2VDb21wb25lbnQsXHJcbiAgICBCZGJGbGV4RGlyZWN0aXZlLFxyXG4gICAgQmRiRm9ybUVycm9yRGlyZWN0aXZlLFxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ2luLXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLXBhZ2UuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExvZ2luUGFnZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9yZ290UGFzc3dvcmRSb3V0ZVBhdGg/OiBzdHJpbmc7XHJcblxyXG4gIGVtYWlsQ3RybCA9IG5ldyBGb3JtQ29udHJvbCgnJywge1xyXG4gICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdLFxyXG4gICAgbm9uTnVsbGFibGU6IHRydWUsXHJcbiAgfSk7XHJcbiAgcGFzc3dvcmRDdHJsID0gbmV3IEZvcm1Db250cm9sKCcnLCB7IHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSwgbm9uTnVsbGFibGU6IHRydWUgfSk7XHJcblxyXG4gIGVycm9yPzogSHR0cEVycm9yUmVzcG9uc2U7XHJcblxyXG4gIHBvc3RMb2dpblVybCA9ICcvJztcclxuXHJcbiAgaXNQZW5kaW5nID0gZmFsc2U7XHJcblxyXG4gIGxvZ2luRm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xyXG4gICAgZW1haWw6IHRoaXMuZW1haWxDdHJsLFxyXG4gICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmRDdHJsLFxyXG4gIH0pO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLFxyXG4gICAgQEluamVjdChCREJfT1BUSU9OUykgYmRiT3B0aW9uczogQmRiT3B0aW9uc1xyXG4gICkge1xyXG4gICAgdGhpcy5mb3Jnb3RQYXNzd29yZFJvdXRlUGF0aCA9IGJkYk9wdGlvbnMuYXV0aE9wdGlvbnM/LmZvcmdvdFBhc3N3b3JkUGF0aDtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiB4ID0+ICh0aGlzLnBvc3RMb2dpblVybCA9IHhbJ3JldHVyblVybCddID8/ICcvJyksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGxvZ2luKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2dpbkZvcm0ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmlzUGVuZGluZyB8fCAhdGhpcy5sb2dpbkZvcm0udmFsaWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaXNQZW5kaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuZXJyb3IgPSB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBmb3JtVmFsdWUgPSB0aGlzLmxvZ2luRm9ybS5nZXRSYXdWYWx1ZSgpO1xyXG4gICAgdGhpcy5sb2dpbkZvcm0uZGlzYWJsZSgpO1xyXG5cclxuICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW4oZm9ybVZhbHVlKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc1BlbmRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxvZ2luRm9ybS5lbmFibGUoKTtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5wb3N0TG9naW5VcmxdKTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IGUgPT4ge1xyXG4gICAgICAgIHRoaXMuZXJyb3IgPSBlO1xyXG4gICAgICAgIHRoaXMuaXNQZW5kaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5sb2dpbkZvcm0uZW5hYmxlKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJsb2dpbkZvcm1cIiAobmdTdWJtaXQpPVwibG9naW4oKVwiPlxyXG4gIDxtYXQtY2FyZD5cclxuICAgIDxtYXQtY2FyZC1oZWFkZXI+XHJcbiAgICAgIDxtYXQtY2FyZC10aXRsZT5JbmxvZ2dlbjwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgICA8L21hdC1jYXJkLWhlYWRlcj5cclxuICAgIDxtYXQtY2FyZC1jb250ZW50IGJkYkZsZXg9XCJjb2xcIj5cclxuICAgICAgPGJkYi1hbGVydC1lcnJvci1yZXNwb25zZSBbdmFsdWVdPVwiZXJyb3JcIiBjbGFzcz1cImxvZ2luLWZvcm0tZXJyb3ItcmVzcG9uc2VcIj48L2JkYi1hbGVydC1lcnJvci1yZXNwb25zZT5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+R2VicnVpa2Vyc25hYW08L21hdC1sYWJlbD5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgdHlwZT1cImVtYWlsXCIgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIiAvPlxyXG4gICAgICAgIDxtYXQtZXJyb3IgYmRiRm9ybUVycm9yPVwiZW1haWxcIj48L21hdC1lcnJvcj5cclxuICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgPG1hdC1mb3JtLWZpZWxkPlxyXG4gICAgICAgIDxtYXQtbGFiZWw+V2FjaHR3b29yZDwvbWF0LWxhYmVsPlxyXG4gICAgICAgIDxpbnB1dCBtYXRJbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBmb3JtQ29udHJvbE5hbWU9XCJwYXNzd29yZFwiIC8+XHJcbiAgICAgICAgPG1hdC1lcnJvciBiZGJGb3JtRXJyb3I9XCJwYXNzd29yZFwiPjwvbWF0LWVycm9yPlxyXG4gICAgICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gICAgPC9tYXQtY2FyZC1jb250ZW50PlxyXG4gICAgPG1hdC1jYXJkLWFjdGlvbnMgYmRiRmxleD1cInJvdyA4cHggZW5kIGNlbnRlclwiPlxyXG4gICAgICA8YSBtYXQtYnV0dG9uIFtyb3V0ZXJMaW5rXT1cIlsnLycsIGZvcmdvdFBhc3N3b3JkUm91dGVQYXRoXVwiPlxyXG4gICAgICAgIDxtYXQtaWNvbj5jb250YWN0X3N1cHBvcnQ8L21hdC1pY29uPlxyXG4gICAgICAgIDxzcGFuPldhY2h0d29vcmQgdmVyZ2V0ZW48L3NwYW4+XHJcbiAgICAgIDwvYT5cclxuICAgICAgPGJ1dHRvbiBtYXQtZmxhdC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCI+XHJcbiAgICAgICAgPG1hdC1pY29uPmxvZ2luPC9tYXQtaWNvbj5cclxuICAgICAgICA8c3Bhbj5JbmxvZ2dlbjwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcbiAgICA8L21hdC1jYXJkLWFjdGlvbnM+XHJcbiAgPC9tYXQtY2FyZD5cclxuPC9mb3JtPlxyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, Inject } from '@angular/core';
|
|
2
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
3
|
+
import { MatCardModule } from '@angular/material/card';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { RouterLink } from '@angular/router';
|
|
6
|
+
import { BDB_OPTIONS } from '../../bdb-options';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/router";
|
|
9
|
+
import * as i2 from "../../domain/auth/auth.service";
|
|
10
|
+
import * as i3 from "@angular/material/card";
|
|
11
|
+
import * as i4 from "@angular/material/button";
|
|
12
|
+
import * as i5 from "@angular/material/icon";
|
|
13
|
+
export class LogoutPageComponent {
|
|
14
|
+
constructor(router, authService, bdbOptions) {
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.authService = authService;
|
|
17
|
+
this.bdbOptions = bdbOptions;
|
|
18
|
+
}
|
|
19
|
+
logout() {
|
|
20
|
+
this.authService.logout();
|
|
21
|
+
this.router.navigate(['/', this.bdbOptions.authOptions?.loginPath]);
|
|
22
|
+
}
|
|
23
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LogoutPageComponent, deps: [{ token: i1.Router }, { token: i2.AuthService }, { token: BDB_OPTIONS }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: LogoutPageComponent, isStandalone: true, selector: "bdb-logout-page", ngImport: i0, template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Uitloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"logout-page-card-content\"> Weet u zeker dat u wilt uitloggen? </mat-card-content>\r\n <mat-card-actions class=\"logout-page-card-actions\">\r\n <a mat-button routerLink=\"/\">\r\n <mat-icon>arrow_back</mat-icon>\r\n <span>Blijf ingelogd</span>\r\n </a>\r\n <button (click)=\"logout()\" mat-flat-button color=\"primary\">\r\n <mat-icon>logout</mat-icon>\r\n <span>Log uit</span>\r\n </button></mat-card-actions\r\n >\r\n</mat-card>\r\n", styles: [":host{width:360px}.logout-page-card-content{display:flex;flex-direction:column;padding:16px}.logout-page-card-actions{gap:8px;justify-content:flex-end}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i3.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i3.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i3.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i3.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i3.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
25
|
+
}
|
|
26
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: LogoutPageComponent, decorators: [{
|
|
27
|
+
type: Component,
|
|
28
|
+
args: [{ selector: 'bdb-logout-page', standalone: true, imports: [MatCardModule, MatButtonModule, MatIconModule, RouterLink], template: "<mat-card>\r\n <mat-card-header>\r\n <mat-card-title>Uitloggen</mat-card-title>\r\n </mat-card-header>\r\n <mat-card-content class=\"logout-page-card-content\"> Weet u zeker dat u wilt uitloggen? </mat-card-content>\r\n <mat-card-actions class=\"logout-page-card-actions\">\r\n <a mat-button routerLink=\"/\">\r\n <mat-icon>arrow_back</mat-icon>\r\n <span>Blijf ingelogd</span>\r\n </a>\r\n <button (click)=\"logout()\" mat-flat-button color=\"primary\">\r\n <mat-icon>logout</mat-icon>\r\n <span>Log uit</span>\r\n </button></mat-card-actions\r\n >\r\n</mat-card>\r\n", styles: [":host{width:360px}.logout-page-card-content{display:flex;flex-direction:column;padding:16px}.logout-page-card-actions{gap:8px;justify-content:flex-end}\n"] }]
|
|
29
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.AuthService }, { type: undefined, decorators: [{
|
|
30
|
+
type: Inject,
|
|
31
|
+
args: [BDB_OPTIONS]
|
|
32
|
+
}] }] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LXBhZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vbG9nb3V0LXBhZ2UvbG9nb3V0LXBhZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9wcmVzZW50YXRpb24vbG9nb3V0LXBhZ2UvbG9nb3V0LXBhZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFVLFVBQVUsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXJELE9BQU8sRUFBRSxXQUFXLEVBQWMsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7OztBQVM1RCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ1UsTUFBYyxFQUNkLFdBQXdCLEVBQ0gsVUFBc0I7UUFGM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ0gsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUNsRCxDQUFDO0lBRUosTUFBTTtRQUNKLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN0RSxDQUFDOzhHQVZVLG1CQUFtQixtRUFJcEIsV0FBVztrR0FKVixtQkFBbUIsMkVDZmhDLGttQkFnQkEsa05ETFksYUFBYSxpaEJBQUUsZUFBZSx3WUFBRSxhQUFhLG9MQUFFLFVBQVU7OzJGQUl4RCxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDOzswQkFRakUsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Q2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NhcmQnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFJvdXRlciwgUm91dGVyTGluayB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2F1dGgvYXV0aC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQkRCX09QVElPTlMsIEJkYk9wdGlvbnMgfSBmcm9tICcuLi8uLi9iZGItb3B0aW9ucyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1sb2dvdXQtcGFnZScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbTWF0Q2FyZE1vZHVsZSwgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uTW9kdWxlLCBSb3V0ZXJMaW5rXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vbG9nb3V0LXBhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xvZ291dC1wYWdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2dvdXRQYWdlQ29tcG9uZW50IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcclxuICAgIEBJbmplY3QoQkRCX09QVElPTlMpIHByaXZhdGUgYmRiT3B0aW9uczogQmRiT3B0aW9uc1xyXG4gICkge31cclxuXHJcbiAgbG9nb3V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5sb2dvdXQoKTtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnLycsIHRoaXMuYmRiT3B0aW9ucy5hdXRoT3B0aW9ucz8ubG9naW5QYXRoXSk7XHJcbiAgfVxyXG59XHJcbiIsIjxtYXQtY2FyZD5cclxuICA8bWF0LWNhcmQtaGVhZGVyPlxyXG4gICAgPG1hdC1jYXJkLXRpdGxlPlVpdGxvZ2dlbjwvbWF0LWNhcmQtdGl0bGU+XHJcbiAgPC9tYXQtY2FyZC1oZWFkZXI+XHJcbiAgPG1hdC1jYXJkLWNvbnRlbnQgY2xhc3M9XCJsb2dvdXQtcGFnZS1jYXJkLWNvbnRlbnRcIj4gV2VldCB1IHpla2VyIGRhdCB1IHdpbHQgdWl0bG9nZ2VuPyA8L21hdC1jYXJkLWNvbnRlbnQ+XHJcbiAgPG1hdC1jYXJkLWFjdGlvbnMgY2xhc3M9XCJsb2dvdXQtcGFnZS1jYXJkLWFjdGlvbnNcIj5cclxuICAgIDxhIG1hdC1idXR0b24gcm91dGVyTGluaz1cIi9cIj5cclxuICAgICAgPG1hdC1pY29uPmFycm93X2JhY2s8L21hdC1pY29uPlxyXG4gICAgICA8c3Bhbj5CbGlqZiBpbmdlbG9nZDwvc3Bhbj5cclxuICAgIDwvYT5cclxuICAgIDxidXR0b24gKGNsaWNrKT1cImxvZ291dCgpXCIgbWF0LWZsYXQtYnV0dG9uIGNvbG9yPVwicHJpbWFyeVwiPlxyXG4gICAgICA8bWF0LWljb24+bG9nb3V0PC9tYXQtaWNvbj5cclxuICAgICAgPHNwYW4+TG9nIHVpdDwvc3Bhbj5cclxuICAgIDwvYnV0dG9uPjwvbWF0LWNhcmQtYWN0aW9uc1xyXG4gID5cclxuPC9tYXQtY2FyZD5cclxuIl19
|