@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,39 @@
|
|
|
1
|
+
export class BdbAuthOptionsBuilder {
|
|
2
|
+
constructor(configure) {
|
|
3
|
+
this._addPresentation = false;
|
|
4
|
+
configure(this);
|
|
5
|
+
}
|
|
6
|
+
set loginPath(path) {
|
|
7
|
+
this._loginPath = path;
|
|
8
|
+
}
|
|
9
|
+
set logoutPath(path) {
|
|
10
|
+
this._logoutPath = path;
|
|
11
|
+
}
|
|
12
|
+
set accessDeniedPath(path) {
|
|
13
|
+
this._accessDeniedPath = path;
|
|
14
|
+
}
|
|
15
|
+
set forgotPasswordPath(path) {
|
|
16
|
+
this._forgotPasswordPath = path;
|
|
17
|
+
}
|
|
18
|
+
set resetPasswordPath(path) {
|
|
19
|
+
this._resetPasswordPath = path;
|
|
20
|
+
}
|
|
21
|
+
set invalidTokenPath(path) {
|
|
22
|
+
this._invalidTokenPath = path;
|
|
23
|
+
}
|
|
24
|
+
addPresentation() {
|
|
25
|
+
this._addPresentation = true;
|
|
26
|
+
}
|
|
27
|
+
build() {
|
|
28
|
+
return {
|
|
29
|
+
loginPath: this._loginPath ?? 'inloggen',
|
|
30
|
+
logoutPath: this._logoutPath ?? 'uitloggen',
|
|
31
|
+
accessDeniedPath: this._accessDeniedPath ?? 'toegang-geweigerd',
|
|
32
|
+
forgotPasswordPath: this._forgotPasswordPath ?? 'wachtwoord-vergeten',
|
|
33
|
+
resetPasswordPath: this._resetPasswordPath ?? 'herstel-wachtwoord',
|
|
34
|
+
invalidTokenPath: this._invalidTokenPath ?? 'ongeldig-token',
|
|
35
|
+
addPresentation: this._addPresentation,
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWF1dGgtb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvYmRiLWF1dGgtb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxNQUFNLE9BQU8scUJBQXFCO0lBU2hDLFlBQVksU0FBa0M7UUFGdEMscUJBQWdCLEdBQUcsS0FBSyxDQUFDO1FBRy9CLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsSUFBSSxTQUFTLENBQUMsSUFBWTtRQUN4QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztJQUN6QixDQUFDO0lBRUQsSUFBSSxVQUFVLENBQUMsSUFBWTtRQUN6QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUksa0JBQWtCLENBQUMsSUFBWTtRQUNqQyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLGlCQUFpQixDQUFDLElBQVk7UUFDaEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxnQkFBZ0IsQ0FBQyxJQUFZO1FBQy9CLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUM7SUFDaEMsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO0lBQy9CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJLENBQUMsVUFBVSxJQUFJLFVBQVU7WUFDeEMsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLElBQUksV0FBVztZQUMzQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksbUJBQW1CO1lBQy9ELGtCQUFrQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxxQkFBcUI7WUFDckUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixJQUFJLG9CQUFvQjtZQUNsRSxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLElBQUksZ0JBQWdCO1lBQzVELGVBQWUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCO1NBQ3ZDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJkYkF1dGhPcHRpb25zIHtcclxuICBsb2dpblBhdGg6IHN0cmluZztcclxuICBsb2dvdXRQYXRoOiBzdHJpbmc7XHJcbiAgYWNjZXNzRGVuaWVkUGF0aDogc3RyaW5nO1xyXG4gIGZvcmdvdFBhc3N3b3JkUGF0aDogc3RyaW5nO1xyXG4gIHJlc2V0UGFzc3dvcmRQYXRoOiBzdHJpbmc7XHJcbiAgaW52YWxpZFRva2VuUGF0aDogc3RyaW5nO1xyXG4gIGFkZFByZXNlbnRhdGlvbjogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIEJkYkF1dGhPcHRpb25zQnVpbGRlciB7XHJcbiAgcHJpdmF0ZSBfbG9naW5QYXRoPzogc3RyaW5nO1xyXG4gIHByaXZhdGUgX2xvZ291dFBhdGg/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfYWNjZXNzRGVuaWVkUGF0aD86IHN0cmluZztcclxuICBwcml2YXRlIF9mb3Jnb3RQYXNzd29yZFBhdGg/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfcmVzZXRQYXNzd29yZFBhdGg/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaW52YWxpZFRva2VuUGF0aD86IHN0cmluZztcclxuICBwcml2YXRlIF9hZGRQcmVzZW50YXRpb24gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlndXJlOiBCZGJBdXRoT3B0aW9uc0NvbmZpZ3VyZSkge1xyXG4gICAgY29uZmlndXJlKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0IGxvZ2luUGF0aChwYXRoOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2xvZ2luUGF0aCA9IHBhdGg7XHJcbiAgfVxyXG5cclxuICBzZXQgbG9nb3V0UGF0aChwYXRoOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2xvZ291dFBhdGggPSBwYXRoO1xyXG4gIH1cclxuXHJcbiAgc2V0IGFjY2Vzc0RlbmllZFBhdGgocGF0aDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9hY2Nlc3NEZW5pZWRQYXRoID0gcGF0aDtcclxuICB9XHJcblxyXG4gIHNldCBmb3Jnb3RQYXNzd29yZFBhdGgocGF0aDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9mb3Jnb3RQYXNzd29yZFBhdGggPSBwYXRoO1xyXG4gIH1cclxuXHJcbiAgc2V0IHJlc2V0UGFzc3dvcmRQYXRoKHBhdGg6IHN0cmluZykge1xyXG4gICAgdGhpcy5fcmVzZXRQYXNzd29yZFBhdGggPSBwYXRoO1xyXG4gIH1cclxuXHJcbiAgc2V0IGludmFsaWRUb2tlblBhdGgocGF0aDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9pbnZhbGlkVG9rZW5QYXRoID0gcGF0aDtcclxuICB9XHJcblxyXG4gIGFkZFByZXNlbnRhdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuX2FkZFByZXNlbnRhdGlvbiA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBidWlsZCgpOiBCZGJBdXRoT3B0aW9ucyB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICBsb2dpblBhdGg6IHRoaXMuX2xvZ2luUGF0aCA/PyAnaW5sb2dnZW4nLFxyXG4gICAgICBsb2dvdXRQYXRoOiB0aGlzLl9sb2dvdXRQYXRoID8/ICd1aXRsb2dnZW4nLFxyXG4gICAgICBhY2Nlc3NEZW5pZWRQYXRoOiB0aGlzLl9hY2Nlc3NEZW5pZWRQYXRoID8/ICd0b2VnYW5nLWdld2VpZ2VyZCcsXHJcbiAgICAgIGZvcmdvdFBhc3N3b3JkUGF0aDogdGhpcy5fZm9yZ290UGFzc3dvcmRQYXRoID8/ICd3YWNodHdvb3JkLXZlcmdldGVuJyxcclxuICAgICAgcmVzZXRQYXNzd29yZFBhdGg6IHRoaXMuX3Jlc2V0UGFzc3dvcmRQYXRoID8/ICdoZXJzdGVsLXdhY2h0d29vcmQnLFxyXG4gICAgICBpbnZhbGlkVG9rZW5QYXRoOiB0aGlzLl9pbnZhbGlkVG9rZW5QYXRoID8/ICdvbmdlbGRpZy10b2tlbicsXHJcbiAgICAgIGFkZFByZXNlbnRhdGlvbjogdGhpcy5fYWRkUHJlc2VudGF0aW9uLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCB0eXBlIEJkYkF1dGhPcHRpb25zQ29uZmlndXJlID0gKF86IEJkYkF1dGhPcHRpb25zQnVpbGRlcikgPT4gdm9pZDtcclxuIl19
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
import { BdbAuthOptionsBuilder } from './bdb-auth-options';
|
|
3
|
+
export class BdbOptionsBuilder {
|
|
4
|
+
constructor(configure) {
|
|
5
|
+
configure(this);
|
|
6
|
+
}
|
|
7
|
+
set backendUrl(url) {
|
|
8
|
+
this._backendUrl = url;
|
|
9
|
+
}
|
|
10
|
+
addAuth(configure) {
|
|
11
|
+
this._auth = configure;
|
|
12
|
+
}
|
|
13
|
+
build() {
|
|
14
|
+
if (!this._backendUrl) {
|
|
15
|
+
throw 'backendUrl mag niet leeg zijn';
|
|
16
|
+
}
|
|
17
|
+
const options = { backendUrl: this._backendUrl };
|
|
18
|
+
if (this._auth) {
|
|
19
|
+
options.authOptions = new BdbAuthOptionsBuilder(this._auth).build();
|
|
20
|
+
}
|
|
21
|
+
return options;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export const BDB_OPTIONS = new InjectionToken('BdbOptions');
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLW9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2JkYi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0MsT0FBTyxFQUFrQixxQkFBcUIsRUFBMkIsTUFBTSxvQkFBb0IsQ0FBQztBQU9wRyxNQUFNLE9BQU8saUJBQWlCO0lBSTVCLFlBQVksU0FBOEI7UUFDeEMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFFRCxJQUFJLFVBQVUsQ0FBQyxHQUFXO1FBQ3hCLElBQUksQ0FBQyxXQUFXLEdBQUcsR0FBRyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBa0M7UUFDeEMsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7SUFDekIsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sK0JBQStCLENBQUM7UUFDeEMsQ0FBQztRQUVELE1BQU0sT0FBTyxHQUFlLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUU3RCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE9BQU8sQ0FBQyxXQUFXLEdBQUcsSUFBSSxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdEUsQ0FBQztRQUVELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7Q0FDRjtBQUlELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLGNBQWMsQ0FBYSxZQUFZLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJkYkF1dGhPcHRpb25zLCBCZGJBdXRoT3B0aW9uc0J1aWxkZXIsIEJkYkF1dGhPcHRpb25zQ29uZmlndXJlIH0gZnJvbSAnLi9iZGItYXV0aC1vcHRpb25zJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmRiT3B0aW9ucyB7XHJcbiAgYmFja2VuZFVybDogc3RyaW5nO1xyXG4gIGF1dGhPcHRpb25zPzogQmRiQXV0aE9wdGlvbnM7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCZGJPcHRpb25zQnVpbGRlciB7XHJcbiAgcHJpdmF0ZSBfYmFja2VuZFVybCE6IHN0cmluZztcclxuICBwcml2YXRlIF9hdXRoPzogQmRiQXV0aE9wdGlvbnNDb25maWd1cmU7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZ3VyZTogQmRiT3B0aW9uc0NvbmZpZ3VyZSkge1xyXG4gICAgY29uZmlndXJlKHRoaXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0IGJhY2tlbmRVcmwodXJsOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2JhY2tlbmRVcmwgPSB1cmw7XHJcbiAgfVxyXG5cclxuICBhZGRBdXRoKGNvbmZpZ3VyZTogQmRiQXV0aE9wdGlvbnNDb25maWd1cmUpOiB2b2lkIHtcclxuICAgIHRoaXMuX2F1dGggPSBjb25maWd1cmU7XHJcbiAgfVxyXG5cclxuICBidWlsZCgpOiBCZGJPcHRpb25zIHtcclxuICAgIGlmICghdGhpcy5fYmFja2VuZFVybCkge1xyXG4gICAgICB0aHJvdyAnYmFja2VuZFVybCBtYWcgbmlldCBsZWVnIHppam4nO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG9wdGlvbnM6IEJkYk9wdGlvbnMgPSB7IGJhY2tlbmRVcmw6IHRoaXMuX2JhY2tlbmRVcmwgfTtcclxuXHJcbiAgICBpZiAodGhpcy5fYXV0aCkge1xyXG4gICAgICBvcHRpb25zLmF1dGhPcHRpb25zID0gbmV3IEJkYkF1dGhPcHRpb25zQnVpbGRlcih0aGlzLl9hdXRoKS5idWlsZCgpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IHR5cGUgQmRiT3B0aW9uc0NvbmZpZ3VyZSA9IChfOiBCZGJPcHRpb25zQnVpbGRlcikgPT4gdm9pZDtcclxuXHJcbmV4cG9ydCBjb25zdCBCREJfT1BUSU9OUyA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCZGJPcHRpb25zPignQmRiT3B0aW9ucycpO1xyXG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { mixinColor } from '../color';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@angular/common";
|
|
7
|
+
import * as i2 from "@angular/material/icon";
|
|
8
|
+
// Boilerplate for applying mixins to BdbAlert.
|
|
9
|
+
const _BdbAlertBase = mixinColor(class {
|
|
10
|
+
constructor(_elementRef) {
|
|
11
|
+
this._elementRef = _elementRef;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
14
|
+
export class BdbAlertComponent extends _BdbAlertBase {
|
|
15
|
+
constructor(elementRef) {
|
|
16
|
+
super(elementRef);
|
|
17
|
+
this.class = 'bdb-alert';
|
|
18
|
+
this.label = '';
|
|
19
|
+
this.icon = 'task_alt';
|
|
20
|
+
this.inline = false;
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbAlertComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BdbAlertComponent, isStandalone: true, selector: "bdb-alert", inputs: { color: "color", label: "label", icon: "icon", inline: "inline" }, host: { properties: { "class": "this.class" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"bdb-alert-wrapper\" [ngStyle]=\"{ display: inline ? 'inline-flex' : 'flex' }\">\r\n <div class=\"bdb-icon-container\">\r\n <mat-icon>{{ icon }}</mat-icon>\r\n </div>\r\n <div class=\"content-container\">\r\n <div>\r\n <div class=\"label\">\r\n {{ label }}\r\n </div>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".bdb-alert-wrapper{border-radius:4px;border:1px solid}.bdb-alert-wrapper .bdb-icon-container{min-height:100%;min-width:48px;display:flex;justify-content:center;align-items:center}.bdb-alert-wrapper .inline{max-width:100%}.content-container{padding:8px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbAlertComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ selector: 'bdb-alert', standalone: true, imports: [CommonModule, MatIconModule], template: "<div class=\"bdb-alert-wrapper\" [ngStyle]=\"{ display: inline ? 'inline-flex' : 'flex' }\">\r\n <div class=\"bdb-icon-container\">\r\n <mat-icon>{{ icon }}</mat-icon>\r\n </div>\r\n <div class=\"content-container\">\r\n <div>\r\n <div class=\"label\">\r\n {{ label }}\r\n </div>\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".bdb-alert-wrapper{border-radius:4px;border:1px solid}.bdb-alert-wrapper .bdb-icon-container{min-height:100%;min-width:48px;display:flex;justify-content:center;align-items:center}.bdb-alert-wrapper .inline{max-width:100%}.content-container{padding:8px}\n"] }]
|
|
28
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { class: [{
|
|
29
|
+
type: HostBinding,
|
|
30
|
+
args: ['class']
|
|
31
|
+
}], color: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], label: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], icon: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], inline: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWFsZXJ0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvY29tbW9uL2FsZXJ0L2JkYi1hbGVydC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2NvbW1vbi9hbGVydC9iZGItYWxlcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQVksVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRWhELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7OztBQUV2RCwrQ0FBK0M7QUFDL0MsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUM5QjtJQUNFLFlBQW1CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBQUcsQ0FBQztDQUMvQyxDQUNGLENBQUM7QUFTRixNQUFNLE9BQU8saUJBQWtCLFNBQVEsYUFBYTtJQU9sRCxZQUFZLFVBQXNCO1FBQ2hDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQVBFLFVBQUssR0FBRyxXQUFXLENBQUM7UUFFakMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUNYLFNBQUksR0FBRyxVQUFVLENBQUM7UUFDbEIsV0FBTSxHQUFHLEtBQUssQ0FBQztJQUl4QixDQUFDOzhHQVRVLGlCQUFpQjtrR0FBakIsaUJBQWlCLHlOQ3BCOUIsaWJBZUEsdVREQ1ksWUFBWSxtSEFBRSxhQUFhOzsyRkFJMUIsaUJBQWlCO2tCQVA3QixTQUFTOytCQUNFLFdBQVcsY0FDVCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDOytFQUtoQixLQUFLO3NCQUExQixXQUFXO3VCQUFDLE9BQU87Z0JBQ0YsS0FBSztzQkFBdEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IENhbkNvbG9yLCBtaXhpbkNvbG9yIH0gZnJvbSAnLi4vY29sb3InO1xyXG5pbXBvcnQgeyBCZGJQYWxldHRlIH0gZnJvbSAnLi4vYmRiLXBhbGV0dGUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcblxyXG4vLyBCb2lsZXJwbGF0ZSBmb3IgYXBwbHlpbmcgbWl4aW5zIHRvIEJkYkFsZXJ0LlxyXG5jb25zdCBfQmRiQWxlcnRCYXNlID0gbWl4aW5Db2xvcihcclxuICBjbGFzcyB7XHJcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XHJcbiAgfVxyXG4pO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiZGItYWxlcnQnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTWF0SWNvbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2JkYi1hbGVydC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYmRiLWFsZXJ0LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJBbGVydENvbXBvbmVudCBleHRlbmRzIF9CZGJBbGVydEJhc2UgaW1wbGVtZW50cyBDYW5Db2xvciB7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpIGNsYXNzID0gJ2JkYi1hbGVydCc7XHJcbiAgQElucHV0KCkgb3ZlcnJpZGUgY29sb3I6IEJkYlBhbGV0dGU7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcclxuICBASW5wdXQoKSBpY29uID0gJ3Rhc2tfYWx0JztcclxuICBASW5wdXQoKSBpbmxpbmUgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoZWxlbWVudFJlZjogRWxlbWVudFJlZikge1xyXG4gICAgc3VwZXIoZWxlbWVudFJlZik7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJiZGItYWxlcnQtd3JhcHBlclwiIFtuZ1N0eWxlXT1cInsgZGlzcGxheTogaW5saW5lID8gJ2lubGluZS1mbGV4JyA6ICdmbGV4JyB9XCI+XHJcbiAgPGRpdiBjbGFzcz1cImJkYi1pY29uLWNvbnRhaW5lclwiPlxyXG4gICAgPG1hdC1pY29uPnt7IGljb24gfX08L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJjb250ZW50LWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsXCI+XHJcbiAgICAgICAge3sgbGFiZWwgfX1cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { BdbAlertComponent } from '../alert/bdb-alert.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
const LoginFailed = 'LOGIN_FAILED';
|
|
7
|
+
const LoginNotAllowed = 'LOGIN_NOT_ALLOWED';
|
|
8
|
+
const LoginRequiredTwoFactor = 'LOGIN_REQUIRES_TWO_FACTOR';
|
|
9
|
+
const LockedOut = 'LOCKED_OUT';
|
|
10
|
+
export class BdbAlertErrorResponseComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.loginFailed = false;
|
|
13
|
+
this.color = 'danger';
|
|
14
|
+
this.icon = 'error_outline';
|
|
15
|
+
this.label = 'Onbekende fout';
|
|
16
|
+
this.message = '';
|
|
17
|
+
}
|
|
18
|
+
validationFailures() {
|
|
19
|
+
if (this.value && this.value.error && this.value.error.errors) {
|
|
20
|
+
const ret = [];
|
|
21
|
+
const pd = this.value.error;
|
|
22
|
+
if (pd.errors) {
|
|
23
|
+
const errors = pd.errors;
|
|
24
|
+
Object.keys(errors).forEach((x) => ret.push(`${errors[x]}`));
|
|
25
|
+
}
|
|
26
|
+
return ret;
|
|
27
|
+
}
|
|
28
|
+
return null;
|
|
29
|
+
}
|
|
30
|
+
ngOnChanges() {
|
|
31
|
+
this.errorCode = undefined;
|
|
32
|
+
this.color = 'danger';
|
|
33
|
+
if (this.value) {
|
|
34
|
+
switch (this.value.status) {
|
|
35
|
+
case 0:
|
|
36
|
+
this.label = 'Communicatie mislukt';
|
|
37
|
+
this.message = 'Controleer uw internetverbinding';
|
|
38
|
+
break;
|
|
39
|
+
case 400:
|
|
40
|
+
this.color = 'warn';
|
|
41
|
+
this.icon = 'warning';
|
|
42
|
+
this.label = 'Invoerfout';
|
|
43
|
+
break;
|
|
44
|
+
case 401:
|
|
45
|
+
if (this.value.error === LoginFailed) {
|
|
46
|
+
this.label = 'Inloggen mislukt';
|
|
47
|
+
this.message = 'Controleer gegevens en probeer opnieuw';
|
|
48
|
+
}
|
|
49
|
+
else if (this.value.error === LoginNotAllowed) {
|
|
50
|
+
this.label = 'Inloggen mislukt';
|
|
51
|
+
this.message = 'Login niet toegestaan';
|
|
52
|
+
}
|
|
53
|
+
else if (this.value.error === LockedOut) {
|
|
54
|
+
this.color = 'warn';
|
|
55
|
+
this.icon = 'warning';
|
|
56
|
+
this.label = 'Tijdelijk geblokkeerd';
|
|
57
|
+
this.message = 'Te veel mislukte inlogpogingen';
|
|
58
|
+
}
|
|
59
|
+
else if (this.value.error === LoginRequiredTwoFactor) {
|
|
60
|
+
this.label = 'Inloggen mislukt';
|
|
61
|
+
this.message = 'Tweestapsverificatie vereist';
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
this.label = 'Onbevoegd';
|
|
65
|
+
this.message = 'U bent niet bevoegd voor de gevraagde actie';
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
case 403:
|
|
69
|
+
this.label = 'Toegang geweigerd';
|
|
70
|
+
this.message = 'Onvoldoende rechten voor de gevraagde actie';
|
|
71
|
+
break;
|
|
72
|
+
case 404:
|
|
73
|
+
this.label = 'Niet gevonden';
|
|
74
|
+
this.message = 'De opgevraagde bron kon niet worden gevonden';
|
|
75
|
+
break;
|
|
76
|
+
case 415:
|
|
77
|
+
this.label = 'Mediatype niet ondersteund';
|
|
78
|
+
this.message = this.value.error;
|
|
79
|
+
break;
|
|
80
|
+
case 500: {
|
|
81
|
+
this.label = this.value.error?.title ?? 'Fout bij afhandeling';
|
|
82
|
+
const errorDetail = this.value.error?.exceptionLogCode;
|
|
83
|
+
if (errorDetail && errorDetail.match(/[A-Z0-9]{6}/g)) {
|
|
84
|
+
this.errorCode = `${errorDetail.slice(0, 2)}-${errorDetail.slice(2, 4)}-${errorDetail.slice(4)}`;
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
this.message = this.value.error?.detail;
|
|
88
|
+
}
|
|
89
|
+
break;
|
|
90
|
+
}
|
|
91
|
+
default:
|
|
92
|
+
this.label = 'Onbekende fout';
|
|
93
|
+
this.message = 'Status: ' + this.value.status;
|
|
94
|
+
break;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbAlertErrorResponseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
99
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BdbAlertErrorResponseComponent, isStandalone: true, selector: "bdb-alert-error-response", inputs: { value: "value" }, usesOnChanges: true, ngImport: i0, template: "<bdb-alert [color]=\"color\" [icon]=\"icon\" [label]=\"label\" *ngIf=\"value\">\r\n <ng-container [ngSwitch]=\"value.status\">\r\n <ng-container *ngSwitchCase=\"400\">\r\n <div *ngFor=\"let message of validationFailures()\">{{ message }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"500\">\r\n <div *ngIf=\"errorCode; else displayMessage\">\r\n Foutcode voor technische ondersteuning: <strong>{{ errorCode }}</strong>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"displayMessage\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</bdb-alert>\r\n\r\n<ng-template #displayMessage>\r\n {{ message }}\r\n</ng-template>\r\n", styles: [".alert{padding:8px;border-radius:4px;border:1px solid}.alert.warn{background-color:#fbe9e7;border-color:#d84315}.alert.danger{background-color:#ffebee;border-color:#c62828}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: BdbAlertComponent, selector: "bdb-alert", inputs: ["color", "label", "icon", "inline"] }] }); }
|
|
100
|
+
}
|
|
101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbAlertErrorResponseComponent, decorators: [{
|
|
102
|
+
type: Component,
|
|
103
|
+
args: [{ selector: 'bdb-alert-error-response', standalone: true, imports: [CommonModule, BdbAlertComponent], template: "<bdb-alert [color]=\"color\" [icon]=\"icon\" [label]=\"label\" *ngIf=\"value\">\r\n <ng-container [ngSwitch]=\"value.status\">\r\n <ng-container *ngSwitchCase=\"400\">\r\n <div *ngFor=\"let message of validationFailures()\">{{ message }}</div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"500\">\r\n <div *ngIf=\"errorCode; else displayMessage\">\r\n Foutcode voor technische ondersteuning: <strong>{{ errorCode }}</strong>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngTemplateOutlet=\"displayMessage\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n</bdb-alert>\r\n\r\n<ng-template #displayMessage>\r\n {{ message }}\r\n</ng-template>\r\n", styles: [".alert{padding:8px;border-radius:4px;border:1px solid}.alert.warn{background-color:#fbe9e7;border-color:#d84315}.alert.danger{background-color:#ffebee;border-color:#c62828}\n"] }]
|
|
104
|
+
}], propDecorators: { value: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}] } });
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWFsZXJ0LWVycm9yLXJlc3BvbnNlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvY29tbW9uL2FsZXJ0LWVycm9yLXJlc3BvbnNlL2JkYi1hbGVydC1lcnJvci1yZXNwb25zZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2NvbW1vbi9hbGVydC1lcnJvci1yZXNwb25zZS9iZGItYWxlcnQtZXJyb3ItcmVzcG9uc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFHakUsTUFBTSxXQUFXLEdBQUcsY0FBYyxDQUFDO0FBQ25DLE1BQU0sZUFBZSxHQUFHLG1CQUFtQixDQUFDO0FBQzVDLE1BQU0sc0JBQXNCLEdBQUcsMkJBQTJCLENBQUM7QUFDM0QsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDO0FBb0IvQixNQUFNLE9BQU8sOEJBQThCO0lBUDNDO1FBU0UsZ0JBQVcsR0FBRyxLQUFLLENBQUM7UUFFcEIsVUFBSyxHQUFlLFFBQVEsQ0FBQztRQUM3QixTQUFJLEdBQUcsZUFBZSxDQUFDO1FBQ3ZCLFVBQUssR0FBRyxnQkFBZ0IsQ0FBQztRQUN6QixZQUFPLEdBQUcsRUFBRSxDQUFDO0tBK0VkO0lBNUVDLGtCQUFrQjtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDOUQs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RSxpQkFBaUIsQ0FBQzs4QkFLakMsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBCZGJBbGVydENvbXBvbmVudCB9IGZyb20gJy4uL2FsZXJ0L2JkYi1hbGVydC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCZGJQYWxldHRlIH0gZnJvbSAnLi4vYmRiLXBhbGV0dGUnO1xyXG5cclxuY29uc3QgTG9naW5GYWlsZWQgPSAnTE9HSU5fRkFJTEVEJztcclxuY29uc3QgTG9naW5Ob3RBbGxvd2VkID0gJ0xPR0lOX05PVF9BTExPV0VEJztcclxuY29uc3QgTG9naW5SZXF1aXJlZFR3b0ZhY3RvciA9ICdMT0dJTl9SRVFVSVJFU19UV09fRkFDVE9SJztcclxuY29uc3QgTG9ja2VkT3V0ID0gJ0xPQ0tFRF9PVVQnO1xyXG5cclxudHlwZSBQcm9ibGVtRGV0YWlscyA9IHtcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN0YXR1cz86IG51bWJlcjtcclxuICBkZXRhaWw/OiBzdHJpbmc7XHJcbiAgaW5zdGFuY2U/OiBzdHJpbmc7XHJcbiAgZXJyb3JzPzoge1xyXG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcclxuICB9O1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiZGItYWxlcnQtZXJyb3ItcmVzcG9uc2UnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgQmRiQWxlcnRDb21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZGItYWxlcnQtZXJyb3ItcmVzcG9uc2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JkYi1hbGVydC1lcnJvci1yZXNwb25zZS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmRiQWxlcnRFcnJvclJlc3BvbnNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICBASW5wdXQoKSB2YWx1ZTogSHR0cEVycm9yUmVzcG9uc2UgfCB1bmRlZmluZWQgfCBudWxsO1xyXG4gIGxvZ2luRmFpbGVkID0gZmFsc2U7XHJcblxyXG4gIGNvbG9yOiBCZGJQYWxldHRlID0gJ2Rhbmdlcic7XHJcbiAgaWNvbiA9ICdlcnJvcl9vdXRsaW5lJztcclxuICBsYWJlbCA9ICdPbmJla2VuZGUgZm91dCc7XHJcbiAgbWVzc2FnZSA9ICcnO1xyXG4gIGVycm9yQ29kZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xyXG5cclxuICB2YWxpZGF0aW9uRmFpbHVyZXMoKTogc3RyaW5nW10gfCBudWxsIHtcclxuICAgIGlmICh0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUuZXJyb3IgJiYgdGhpcy52YWx1ZS5lcnJvci5lcnJvcnMpIHtcclxuICAgICAgY29uc3QgcmV0OiBzdHJpbmdbXSA9IFtdO1xyXG4gICAgICBjb25zdCBwZCA9IHRoaXMudmFsdWUuZXJyb3IgYXMgUHJvYmxlbURldGFpbHM7XHJcbiAgICAgIGlmIChwZC5lcnJvcnMpIHtcclxuICAgICAgICBjb25zdCBlcnJvcnMgPSBwZC5lcnJvcnM7XHJcbiAgICAgICAgT2JqZWN0LmtleXMoZXJyb3JzKS5mb3JFYWNoKCh4OiBzdHJpbmcpID0+IHJldC5wdXNoKGAke2Vycm9yc1t4XX1gKSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHJldDtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVycm9yQ29kZSA9IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuY29sb3IgPSAnZGFuZ2VyJztcclxuICAgIGlmICh0aGlzLnZhbHVlKSB7XHJcbiAgICAgIHN3aXRjaCAodGhpcy52YWx1ZS5zdGF0dXMpIHtcclxuICAgICAgICBjYXNlIDA6XHJcbiAgICAgICAgICB0aGlzLmxhYmVsID0gJ0NvbW11bmljYXRpZSBtaXNsdWt0JztcclxuICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdDb250cm9sZWVyIHV3IGludGVybmV0dmVyYmluZGluZyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQwMDpcclxuICAgICAgICAgIHRoaXMuY29sb3IgPSAnd2Fybic7XHJcbiAgICAgICAgICB0aGlzLmljb24gPSAnd2FybmluZyc7XHJcbiAgICAgICAgICB0aGlzLmxhYmVsID0gJ0ludm9lcmZvdXQnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDE6XHJcbiAgICAgICAgICBpZiAodGhpcy52YWx1ZS5lcnJvciA9PT0gTG9naW5GYWlsZWQpIHtcclxuICAgICAgICAgICAgdGhpcy5sYWJlbCA9ICdJbmxvZ2dlbiBtaXNsdWt0JztcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJ0NvbnRyb2xlZXIgZ2VnZXZlbnMgZW4gcHJvYmVlciBvcG5pZXV3JztcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy52YWx1ZS5lcnJvciA9PT0gTG9naW5Ob3RBbGxvd2VkKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnSW5sb2dnZW4gbWlzbHVrdCc7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdMb2dpbiBuaWV0IHRvZWdlc3RhYW4nO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlLmVycm9yID09PSBMb2NrZWRPdXQpIHtcclxuICAgICAgICAgICAgdGhpcy5jb2xvciA9ICd3YXJuJztcclxuICAgICAgICAgICAgdGhpcy5pY29uID0gJ3dhcm5pbmcnO1xyXG4gICAgICAgICAgICB0aGlzLmxhYmVsID0gJ1RpamRlbGlqayBnZWJsb2trZWVyZCc7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdUZSB2ZWVsIG1pc2x1a3RlIGlubG9ncG9naW5nZW4nO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnZhbHVlLmVycm9yID09PSBMb2dpblJlcXVpcmVkVHdvRmFjdG9yKSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnSW5sb2dnZW4gbWlzbHVrdCc7XHJcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdUd2Vlc3RhcHN2ZXJpZmljYXRpZSB2ZXJlaXN0JztcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubGFiZWwgPSAnT25iZXZvZWdkJztcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gJ1UgYmVudCBuaWV0IGJldm9lZ2Qgdm9vciBkZSBnZXZyYWFnZGUgYWN0aWUnO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSA0MDM6XHJcbiAgICAgICAgICB0aGlzLmxhYmVsID0gJ1RvZWdhbmcgZ2V3ZWlnZXJkJztcclxuICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdPbnZvbGRvZW5kZSByZWNodGVuIHZvb3IgZGUgZ2V2cmFhZ2RlIGFjdGllJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNDA0OlxyXG4gICAgICAgICAgdGhpcy5sYWJlbCA9ICdOaWV0IGdldm9uZGVuJztcclxuICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdEZSBvcGdldnJhYWdkZSBicm9uIGtvbiBuaWV0IHdvcmRlbiBnZXZvbmRlbic7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIDQxNTpcclxuICAgICAgICAgIHRoaXMubGFiZWwgPSAnTWVkaWF0eXBlIG5pZXQgb25kZXJzdGV1bmQnO1xyXG4gICAgICAgICAgdGhpcy5tZXNzYWdlID0gdGhpcy52YWx1ZS5lcnJvcjtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgNTAwOiB7XHJcbiAgICAgICAgICB0aGlzLmxhYmVsID0gdGhpcy52YWx1ZS5lcnJvcj8udGl0bGUgPz8gJ0ZvdXQgYmlqIGFmaGFuZGVsaW5nJztcclxuICAgICAgICAgIGNvbnN0IGVycm9yRGV0YWlsID0gdGhpcy52YWx1ZS5lcnJvcj8uZXhjZXB0aW9uTG9nQ29kZTtcclxuICAgICAgICAgIGlmIChlcnJvckRldGFpbCAmJiBlcnJvckRldGFpbC5tYXRjaCgvW0EtWjAtOV17Nn0vZykpIHtcclxuICAgICAgICAgICAgdGhpcy5lcnJvckNvZGUgPSBgJHtlcnJvckRldGFpbC5zbGljZSgwLCAyKX0tJHtlcnJvckRldGFpbC5zbGljZSgyLCA0KX0tJHtlcnJvckRldGFpbC5zbGljZSg0KX1gO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5tZXNzYWdlID0gdGhpcy52YWx1ZS5lcnJvcj8uZGV0YWlsO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLmxhYmVsID0gJ09uYmVrZW5kZSBmb3V0JztcclxuICAgICAgICAgIHRoaXMubWVzc2FnZSA9ICdTdGF0dXM6ICcgKyB0aGlzLnZhbHVlLnN0YXR1cztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxiZGItYWxlcnQgW2NvbG9yXT1cImNvbG9yXCIgW2ljb25dPVwiaWNvblwiIFtsYWJlbF09XCJsYWJlbFwiICpuZ0lmPVwidmFsdWVcIj5cclxuICA8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ2YWx1ZS5zdGF0dXNcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIjQwMFwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtZXNzYWdlIG9mIHZhbGlkYXRpb25GYWlsdXJlcygpXCI+e3sgbWVzc2FnZSB9fTwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCI1MDBcIj5cclxuICAgICAgPGRpdiAqbmdJZj1cImVycm9yQ29kZTsgZWxzZSBkaXNwbGF5TWVzc2FnZVwiPlxyXG4gICAgICAgIEZvdXRjb2RlIHZvb3IgdGVjaG5pc2NoZSBvbmRlcnN0ZXVuaW5nOiA8c3Ryb25nPnt7IGVycm9yQ29kZSB9fTwvc3Ryb25nPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGlzcGxheU1lc3NhZ2VcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG48L2JkYi1hbGVydD5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjZGlzcGxheU1lc3NhZ2U+XHJcbiAge3sgbWVzc2FnZSB9fVxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0=
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BdbFlexChildDirective {
|
|
4
|
+
constructor(element, renderer) {
|
|
5
|
+
this.element = element;
|
|
6
|
+
this.renderer = renderer;
|
|
7
|
+
this.bdbFlexChild = '';
|
|
8
|
+
}
|
|
9
|
+
ngOnInit() {
|
|
10
|
+
this.renderer.setStyle(this.element.nativeElement, 'flex', this.bdbFlexChild);
|
|
11
|
+
}
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbFlexChildDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
13
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BdbFlexChildDirective, isStandalone: true, selector: "[bdbFlexChild]", inputs: { bdbFlexChild: "bdbFlexChild" }, ngImport: i0 }); }
|
|
14
|
+
}
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbFlexChildDirective, decorators: [{
|
|
16
|
+
type: Directive,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: '[bdbFlexChild]',
|
|
19
|
+
standalone: true,
|
|
20
|
+
}]
|
|
21
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { bdbFlexChild: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}] } });
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWZsZXgtY2hpbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9jb21tb24vYmRiLWZsZXgtY2hpbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7QUFNaEYsTUFBTSxPQUFPLHFCQUFxQjtJQUdoQyxZQUNVLE9BQW1CLEVBQ25CLFFBQW1CO1FBRG5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUpwQixpQkFBWSxHQUFHLEVBQUUsQ0FBQztJQUt4QixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDaEYsQ0FBQzs4R0FWVSxxQkFBcUI7a0dBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixVQUFVLEVBQUUsSUFBSTtpQkFDakI7dUdBRVUsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ARGlyZWN0aXZlKHtcclxuICBzZWxlY3RvcjogJ1tiZGJGbGV4Q2hpbGRdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmRiRmxleENoaWxkRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBiZGJGbGV4Q2hpbGQgPSAnJztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2ZsZXgnLCB0aGlzLmJkYkZsZXhDaGlsZCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { LayoutError } from './layout-error';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
const DEFAULT_FLEX_DIRECTION = 'row';
|
|
5
|
+
const DEFAULT_FLEX_GAP = '';
|
|
6
|
+
const DEFAULT_FLEX_SPACING = {
|
|
7
|
+
justify: 'start',
|
|
8
|
+
align: 'stretch',
|
|
9
|
+
};
|
|
10
|
+
export class BdbFlexDirective {
|
|
11
|
+
constructor(element, renderer) {
|
|
12
|
+
this.element = element;
|
|
13
|
+
this.renderer = renderer;
|
|
14
|
+
this.bdbFlex = '';
|
|
15
|
+
this.bdbFlexDirection = '';
|
|
16
|
+
this.bdbFlexGap = '';
|
|
17
|
+
this.bdbFlexSpacing = '';
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this.renderer.setStyle(this.element.nativeElement, 'display', 'flex');
|
|
21
|
+
const bdbFlexInputs = this.bdbFlex.split(' ').filter(x => !!x);
|
|
22
|
+
this.setDirection(bdbFlexInputs[0]);
|
|
23
|
+
this.setGap(bdbFlexInputs[1]);
|
|
24
|
+
this.setSpacing({
|
|
25
|
+
justify: bdbFlexInputs[2],
|
|
26
|
+
align: bdbFlexInputs[3],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
setDirection(bdbFlexInput) {
|
|
30
|
+
const direction = this.validateDirection(this.getDirection(bdbFlexInput));
|
|
31
|
+
this.renderer.setStyle(this.element.nativeElement, 'flex-direction', direction);
|
|
32
|
+
}
|
|
33
|
+
getDirection(bdbFlexInput) {
|
|
34
|
+
const trimmedBdbFlexDirection = this.bdbFlexDirection.trim();
|
|
35
|
+
if (trimmedBdbFlexDirection) {
|
|
36
|
+
return trimmedBdbFlexDirection;
|
|
37
|
+
}
|
|
38
|
+
if (bdbFlexInput) {
|
|
39
|
+
return bdbFlexInput;
|
|
40
|
+
}
|
|
41
|
+
return DEFAULT_FLEX_DIRECTION;
|
|
42
|
+
}
|
|
43
|
+
validateDirection(direction) {
|
|
44
|
+
switch (direction) {
|
|
45
|
+
case 'row':
|
|
46
|
+
return 'row';
|
|
47
|
+
case 'col':
|
|
48
|
+
return 'column';
|
|
49
|
+
default:
|
|
50
|
+
throw new LayoutError(`'${direction}' is not a valid value for flex direction`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
setGap(bdbFlexInput) {
|
|
54
|
+
const gap = this.validateGap(this.getGap(bdbFlexInput));
|
|
55
|
+
this.renderer.setStyle(this.element.nativeElement, 'gap', gap);
|
|
56
|
+
}
|
|
57
|
+
getGap(bdbFlexInput) {
|
|
58
|
+
const trimmedBdbFlexGap = this.bdbFlexGap.trim();
|
|
59
|
+
if (trimmedBdbFlexGap) {
|
|
60
|
+
return trimmedBdbFlexGap;
|
|
61
|
+
}
|
|
62
|
+
if (bdbFlexInput) {
|
|
63
|
+
return bdbFlexInput;
|
|
64
|
+
}
|
|
65
|
+
return DEFAULT_FLEX_GAP;
|
|
66
|
+
}
|
|
67
|
+
validateGap(gap) {
|
|
68
|
+
return gap;
|
|
69
|
+
}
|
|
70
|
+
setSpacing(bdbFlexInput) {
|
|
71
|
+
const spacing = this.validateSpacing(this.getSpacing(bdbFlexInput));
|
|
72
|
+
this.renderer.setStyle(this.element.nativeElement, 'align-items', spacing.align);
|
|
73
|
+
this.renderer.setStyle(this.element.nativeElement, 'justify-content', spacing.justify);
|
|
74
|
+
}
|
|
75
|
+
getSpacing(bdbFlexInput) {
|
|
76
|
+
const splitBdbFlexSpacing = this.bdbFlexSpacing.split(' ').filter(x => !!x);
|
|
77
|
+
if (splitBdbFlexSpacing.length === 2) {
|
|
78
|
+
return {
|
|
79
|
+
align: splitBdbFlexSpacing[0],
|
|
80
|
+
justify: splitBdbFlexSpacing[1],
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
if (bdbFlexInput.align && bdbFlexInput.justify) {
|
|
84
|
+
return {
|
|
85
|
+
align: bdbFlexInput.align,
|
|
86
|
+
justify: bdbFlexInput.justify,
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
return DEFAULT_FLEX_SPACING;
|
|
90
|
+
}
|
|
91
|
+
validateSpacing(spacing) {
|
|
92
|
+
return spacing;
|
|
93
|
+
}
|
|
94
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbFlexDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
95
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BdbFlexDirective, isStandalone: true, selector: "[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]", inputs: { bdbFlex: "bdbFlex", bdbFlexDirection: "bdbFlexDirection", bdbFlexGap: "bdbFlexGap", bdbFlexSpacing: "bdbFlexSpacing" }, ngImport: i0 }); }
|
|
96
|
+
}
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbFlexDirective, decorators: [{
|
|
98
|
+
type: Directive,
|
|
99
|
+
args: [{
|
|
100
|
+
selector: '[bdbFlex], [bdbFlexDirection], [bdbFlexGap], [bdbFlexSpacing]',
|
|
101
|
+
standalone: true,
|
|
102
|
+
}]
|
|
103
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { bdbFlex: [{
|
|
104
|
+
type: Input
|
|
105
|
+
}], bdbFlexDirection: [{
|
|
106
|
+
type: Input
|
|
107
|
+
}], bdbFlexGap: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], bdbFlexSpacing: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}] } });
|
|
112
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWZsZXguZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9jb21tb24vYmRiLWZsZXguZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBTzdDLE1BQU0sc0JBQXNCLEdBQUcsS0FBSyxDQUFDO0FBQ3JDLE1BQU0sZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO0FBQzVCLE1BQU0sb0JBQW9CLEdBQWdCO0lBQ3hDLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0NBQ2pCLENBQUM7QUFNRixNQUFNLE9BQU8sZ0JBQWdCO0lBTTNCLFlBQ1UsT0FBbUIsRUFDbkIsUUFBbUI7UUFEbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBUHBCLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFDYixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixtQkFBYyxHQUFHLEVBQUUsQ0FBQztJQUsxQixDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUV0RSxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FB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QUFLLENBQUMsRUFBRSxDQUFDO1lBQ3JDLE9BQU87Z0JBQ0wsS0FBSyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQztnQkFDN0IsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUMsQ0FBQzthQUNoQyxDQUFDO1FBQ0osQ0FBQztRQUVELElBQUksWUFBWSxDQUFDLEtBQUssSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDL0MsT0FBTztnQkFDTCxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7Z0JBQ3pCLE9BQU8sRUFBRSxZQUFZLENBQUMsT0FBTzthQUM5QixDQUFDO1FBQ0osQ0FBQztRQUVELE9BQU8sb0JBQW9CLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxPQUFvQjtRQUNsQyxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDOzhHQXpHVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQjs7MkZBQWhCLGdCQUFnQjtrQkFKNUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsK0RBQStEO29CQUN6RSxVQUFVLEVBQUUsSUFBSTtpQkFDakI7dUdBRVUsT0FBTztzQkFBZixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBMYXlvdXRFcnJvciB9IGZyb20gJy4vbGF5b3V0LWVycm9yJztcclxuXHJcbnR5cGUgRmxleFNwYWNpbmcgPSB7XHJcbiAgYWxpZ246IHN0cmluZztcclxuICBqdXN0aWZ5OiBzdHJpbmc7XHJcbn07XHJcblxyXG5jb25zdCBERUZBVUxUX0ZMRVhfRElSRUNUSU9OID0gJ3Jvdyc7XHJcbmNvbnN0IERFRkFVTFRfRkxFWF9HQVAgPSAnJztcclxuY29uc3QgREVGQVVMVF9GTEVYX1NQQUNJTkc6IEZsZXhTcGFjaW5nID0ge1xyXG4gIGp1c3RpZnk6ICdzdGFydCcsXHJcbiAgYWxpZ246ICdzdHJldGNoJyxcclxufTtcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2JkYkZsZXhdLCBbYmRiRmxleERpcmVjdGlvbl0sIFtiZGJGbGV4R2FwXSwgW2JkYkZsZXhTcGFjaW5nXScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEJkYkZsZXhEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGJkYkZsZXggPSAnJztcclxuICBASW5wdXQoKSBiZGJGbGV4RGlyZWN0aW9uID0gJyc7XHJcbiAgQElucHV0KCkgYmRiRmxleEdhcCA9ICcnO1xyXG4gIEBJbnB1dCgpIGJkYkZsZXhTcGFjaW5nID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkaXNwbGF5JywgJ2ZsZXgnKTtcclxuXHJcbiAgICBjb25zdCBiZGJGbGV4SW5wdXRzID0gdGhpcy5iZGJGbGV4LnNwbGl0KCcgJykuZmlsdGVyKHggPT4gISF4KTtcclxuXHJcbiAgICB0aGlzLnNldERpcmVjdGlvbihiZGJGbGV4SW5wdXRzWzBdKTtcclxuICAgIHRoaXMuc2V0R2FwKGJkYkZsZXhJbnB1dHNbMV0pO1xyXG4gICAgdGhpcy5zZXRTcGFjaW5nKHtcclxuICAgICAganVzdGlmeTogYmRiRmxleElucHV0c1syXSxcclxuICAgICAgYWxpZ246IGJkYkZsZXhJbnB1dHNbM10sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldERpcmVjdGlvbihiZGJGbGV4SW5wdXQ/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRpcmVjdGlvbiA9IHRoaXMudmFsaWRhdGVEaXJlY3Rpb24odGhpcy5nZXREaXJlY3Rpb24oYmRiRmxleElucHV0KSk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZmxleC1kaXJlY3Rpb24nLCBkaXJlY3Rpb24pO1xyXG4gIH1cclxuXHJcbiAgZ2V0RGlyZWN0aW9uKGJkYkZsZXhJbnB1dD86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBjb25zdCB0cmltbWVkQmRiRmxleERpcmVjdGlvbiA9IHRoaXMuYmRiRmxleERpcmVjdGlvbi50cmltKCk7XHJcblxyXG4gICAgaWYgKHRyaW1tZWRCZGJGbGV4RGlyZWN0aW9uKSB7XHJcbiAgICAgIHJldHVybiB0cmltbWVkQmRiRmxleERpcmVjdGlvbjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYmRiRmxleElucHV0KSB7XHJcbiAgICAgIHJldHVybiBiZGJGbGV4SW5wdXQ7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIERFRkFVTFRfRkxFWF9ESVJFQ1RJT047XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZURpcmVjdGlvbihkaXJlY3Rpb246IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBzd2l0Y2ggKGRpcmVjdGlvbikge1xyXG4gICAgICBjYXNlICdyb3cnOlxyXG4gICAgICAgIHJldHVybiAncm93JztcclxuICAgICAgY2FzZSAnY29sJzpcclxuICAgICAgICByZXR1cm4gJ2NvbHVtbic7XHJcbiAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgdGhyb3cgbmV3IExheW91dEVycm9yKGAnJHtkaXJlY3Rpb259JyBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgZmxleCBkaXJlY3Rpb25gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldEdhcChiZGJGbGV4SW5wdXQ/OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGdhcCA9IHRoaXMudmFsaWRhdGVHYXAodGhpcy5nZXRHYXAoYmRiRmxleElucHV0KSk7XHJcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZ2FwJywgZ2FwKTtcclxuICB9XHJcblxyXG4gIGdldEdhcChiZGJGbGV4SW5wdXQ/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgdHJpbW1lZEJkYkZsZXhHYXAgPSB0aGlzLmJkYkZsZXhHYXAudHJpbSgpO1xyXG5cclxuICAgIGlmICh0cmltbWVkQmRiRmxleEdhcCkge1xyXG4gICAgICByZXR1cm4gdHJpbW1lZEJkYkZsZXhHYXA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGJkYkZsZXhJbnB1dCkge1xyXG4gICAgICByZXR1cm4gYmRiRmxleElucHV0O1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBERUZBVUxUX0ZMRVhfR0FQO1xyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVHYXAoZ2FwOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGdhcDtcclxuICB9XHJcblxyXG4gIHNldFNwYWNpbmcoYmRiRmxleElucHV0OiBQYXJ0aWFsPEZsZXhTcGFjaW5nPik6IHZvaWQge1xyXG4gICAgY29uc3Qgc3BhY2luZyA9IHRoaXMudmFsaWRhdGVTcGFjaW5nKHRoaXMuZ2V0U3BhY2luZyhiZGJGbGV4SW5wdXQpKTtcclxuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdhbGlnbi1pdGVtcycsIHNwYWNpbmcuYWxpZ24pO1xyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2p1c3RpZnktY29udGVudCcsIHNwYWNpbmcuanVzdGlmeSk7XHJcbiAgfVxyXG5cclxuICBnZXRTcGFjaW5nKGJkYkZsZXhJbnB1dDogUGFydGlhbDxGbGV4U3BhY2luZz4pOiBGbGV4U3BhY2luZyB7XHJcbiAgICBjb25zdCBzcGxpdEJkYkZsZXhTcGFjaW5nID0gdGhpcy5iZGJGbGV4U3BhY2luZy5zcGxpdCgnICcpLmZpbHRlcih4ID0+ICEheCk7XHJcblxyXG4gICAgaWYgKHNwbGl0QmRiRmxleFNwYWNpbmcubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgYWxpZ246IHNwbGl0QmRiRmxleFNwYWNpbmdbMF0sXHJcbiAgICAgICAganVzdGlmeTogc3BsaXRCZGJGbGV4U3BhY2luZ1sxXSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYmRiRmxleElucHV0LmFsaWduICYmIGJkYkZsZXhJbnB1dC5qdXN0aWZ5KSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgYWxpZ246IGJkYkZsZXhJbnB1dC5hbGlnbixcclxuICAgICAgICBqdXN0aWZ5OiBiZGJGbGV4SW5wdXQuanVzdGlmeSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gREVGQVVMVF9GTEVYX1NQQUNJTkc7XHJcbiAgfVxyXG5cclxuICB2YWxpZGF0ZVNwYWNpbmcoc3BhY2luZzogRmxleFNwYWNpbmcpOiBGbGV4U3BhY2luZyB7XHJcbiAgICByZXR1cm4gc3BhY2luZztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/forms";
|
|
4
|
+
const errorMessageMap = new Map([
|
|
5
|
+
['required', 'Verplicht'],
|
|
6
|
+
['email', 'Ongeldig e-mail'],
|
|
7
|
+
['phone', 'Ongeldig tel.nr'],
|
|
8
|
+
['requiredTrue', 'Verplicht'],
|
|
9
|
+
['pattern', 'Ongeldig'],
|
|
10
|
+
]);
|
|
11
|
+
function getErrorMessage(validationErrorKey, validationErrorValue) {
|
|
12
|
+
switch (validationErrorKey) {
|
|
13
|
+
case 'minlength':
|
|
14
|
+
return `Minimum lengte: ${validationErrorValue['requiredLength']}`;
|
|
15
|
+
case 'maxlength':
|
|
16
|
+
return `Maximum lengte: ${validationErrorValue['requiredLength']}`;
|
|
17
|
+
case 'max':
|
|
18
|
+
return `Max: ${validationErrorValue['max']}`;
|
|
19
|
+
case 'min':
|
|
20
|
+
return `Min: ${validationErrorValue['min']}`;
|
|
21
|
+
case 'custom':
|
|
22
|
+
return `${validationErrorValue}`;
|
|
23
|
+
default:
|
|
24
|
+
return errorMessageMap.get(validationErrorKey) ?? validationErrorKey;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
export class BdbFormErrorDirective {
|
|
28
|
+
constructor(element, renderer, controlContainer) {
|
|
29
|
+
this.element = element;
|
|
30
|
+
this.renderer = renderer;
|
|
31
|
+
this.controlContainer = controlContainer;
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
if (!this.bdbFormError) {
|
|
35
|
+
throw new Error('No (name for) formcontrol provided');
|
|
36
|
+
}
|
|
37
|
+
if (typeof this.bdbFormError === 'string') {
|
|
38
|
+
const ctrl = this.controlContainer.control?.get(this.bdbFormError);
|
|
39
|
+
if (!ctrl) {
|
|
40
|
+
throw new Error(`No formcontrol found for name '${this.bdbFormError}'`);
|
|
41
|
+
}
|
|
42
|
+
this.control = ctrl;
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
this.control = this.bdbFormError;
|
|
46
|
+
}
|
|
47
|
+
this.setError();
|
|
48
|
+
this.control.statusChanges.subscribe({
|
|
49
|
+
next: () => this.setError(),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
setError() {
|
|
53
|
+
const validationErrors = this.control.errors;
|
|
54
|
+
if (!validationErrors) {
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
const validationErrorKey = Object.keys(validationErrors)[0];
|
|
58
|
+
const validationErrorValue = validationErrors[validationErrorKey];
|
|
59
|
+
const errorMessage = getErrorMessage(validationErrorKey, validationErrorValue);
|
|
60
|
+
this.renderer.setProperty(this.element.nativeElement, 'innerText', errorMessage);
|
|
61
|
+
}
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbFormErrorDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
63
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BdbFormErrorDirective, isStandalone: true, selector: "[bdbFormError]", inputs: { bdbFormError: "bdbFormError" }, ngImport: i0 }); }
|
|
64
|
+
}
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbFormErrorDirective, decorators: [{
|
|
66
|
+
type: Directive,
|
|
67
|
+
args: [{
|
|
68
|
+
selector: '[bdbFormError]',
|
|
69
|
+
standalone: true,
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.ControlContainer }], propDecorators: { bdbFormError: [{
|
|
72
|
+
type: Input
|
|
73
|
+
}] } });
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWZvcm0tZXJyb3IuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9jb21tb24vYmRiLWZvcm0tZXJyb3IuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7O0FBR2hGLE1BQU0sZUFBZSxHQUFHLElBQUksR0FBRyxDQUFDO0lBQzlCLENBQUMsVUFBVSxFQUFFLFdBQVcsQ0FBQztJQUN6QixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztJQUM1QixDQUFDLE9BQU8sRUFBRSxpQkFBaUIsQ0FBQztJQUM1QixDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7SUFDN0IsQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDO0NBQ3hCLENBQUMsQ0FBQztBQUVILFNBQVMsZUFBZSxDQUFDLGtCQUEwQixFQUFFLG9CQUFnRDtJQUNuRyxRQUFRLGtCQUFrQixFQUFFLENBQUM7UUFDM0IsS0FBSyxXQUFXO1lBQ2QsT0FBTyxtQkFBbUIsb0JBQW9CLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1FBQ3JFLEtBQUssV0FBVztZQUNkLE9BQU8sbUJBQW1CLG9CQUFvQixDQUFDLGdCQUFnQixDQUFDLEVBQUUsQ0FBQztRQUNyRSxLQUFLLEtBQUs7WUFDUixPQUFPLFFBQVEsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxLQUFLLEtBQUs7WUFDUixPQUFPLFFBQVEsb0JBQW9CLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUMvQyxLQUFLLFFBQVE7WUFDWCxPQUFPLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQztRQUNuQztZQUNFLE9BQU8sZUFBZSxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLGtCQUFrQixDQUFDO0lBQ3pFLENBQUM7QUFDSCxDQUFDO0FBTUQsTUFBTSxPQUFPLHFCQUFxQjtJQUtoQyxZQUNVLE9BQW1CLEVBQ25CLFFBQW1CLEVBQ25CLGdCQUFrQztRQUZsQyxZQUFPLEdBQVAsT0FBTyxDQUFZO1FBQ25CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtJQUN6QyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdkIsTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1FBQ3hELENBQUM7UUFFRCxJQUFJLE9BQU8sSUFBSSxDQUFDLFlBQVksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMxQyxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFFbkUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsa0NBQWtDLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQzFFLENBQUM7WUFFRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUNuQyxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWhCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQztZQUNuQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUM1QixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFFN0MsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUU1RCxNQUFNLG9CQUFvQixHQUFHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFFbEUsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLGtCQUFrQixFQUFFLG9CQUFvQixDQUFDLENBQUM7UUFFL0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ25GLENBQUM7OEdBakRVLHFCQUFxQjtrR0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQUpqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxnQkFBZ0I7b0JBQzFCLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtzSUFFVSxZQUFZO3NCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBDb250cm9sQ29udGFpbmVyIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuY29uc3QgZXJyb3JNZXNzYWdlTWFwID0gbmV3IE1hcChbXHJcbiAgWydyZXF1aXJlZCcsICdWZXJwbGljaHQnXSxcclxuICBbJ2VtYWlsJywgJ09uZ2VsZGlnIGUtbWFpbCddLFxyXG4gIFsncGhvbmUnLCAnT25nZWxkaWcgdGVsLm5yJ10sXHJcbiAgWydyZXF1aXJlZFRydWUnLCAnVmVycGxpY2h0J10sXHJcbiAgWydwYXR0ZXJuJywgJ09uZ2VsZGlnJ10sXHJcbl0pO1xyXG5cclxuZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlKHZhbGlkYXRpb25FcnJvcktleTogc3RyaW5nLCB2YWxpZGF0aW9uRXJyb3JWYWx1ZTogeyBba2V5OiBzdHJpbmddOiB1bmtub3duIH0pOiBzdHJpbmcge1xyXG4gIHN3aXRjaCAodmFsaWRhdGlvbkVycm9yS2V5KSB7XHJcbiAgICBjYXNlICdtaW5sZW5ndGgnOlxyXG4gICAgICByZXR1cm4gYE1pbmltdW0gbGVuZ3RlOiAke3ZhbGlkYXRpb25FcnJvclZhbHVlWydyZXF1aXJlZExlbmd0aCddfWA7XHJcbiAgICBjYXNlICdtYXhsZW5ndGgnOlxyXG4gICAgICByZXR1cm4gYE1heGltdW0gbGVuZ3RlOiAke3ZhbGlkYXRpb25FcnJvclZhbHVlWydyZXF1aXJlZExlbmd0aCddfWA7XHJcbiAgICBjYXNlICdtYXgnOlxyXG4gICAgICByZXR1cm4gYE1heDogJHt2YWxpZGF0aW9uRXJyb3JWYWx1ZVsnbWF4J119YDtcclxuICAgIGNhc2UgJ21pbic6XHJcbiAgICAgIHJldHVybiBgTWluOiAke3ZhbGlkYXRpb25FcnJvclZhbHVlWydtaW4nXX1gO1xyXG4gICAgY2FzZSAnY3VzdG9tJzpcclxuICAgICAgcmV0dXJuIGAke3ZhbGlkYXRpb25FcnJvclZhbHVlfWA7XHJcbiAgICBkZWZhdWx0OlxyXG4gICAgICByZXR1cm4gZXJyb3JNZXNzYWdlTWFwLmdldCh2YWxpZGF0aW9uRXJyb3JLZXkpID8/IHZhbGlkYXRpb25FcnJvcktleTtcclxuICB9XHJcbn1cclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2JkYkZvcm1FcnJvcl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJGb3JtRXJyb3JEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGJkYkZvcm1FcnJvciE6IHN0cmluZyB8IEFic3RyYWN0Q29udHJvbDtcclxuXHJcbiAgY29udHJvbCE6IEFic3RyYWN0Q29udHJvbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGVsZW1lbnQ6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwcml2YXRlIGNvbnRyb2xDb250YWluZXI6IENvbnRyb2xDb250YWluZXJcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmJkYkZvcm1FcnJvcikge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIChuYW1lIGZvcikgZm9ybWNvbnRyb2wgcHJvdmlkZWQnKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZW9mIHRoaXMuYmRiRm9ybUVycm9yID09PSAnc3RyaW5nJykge1xyXG4gICAgICBjb25zdCBjdHJsID0gdGhpcy5jb250cm9sQ29udGFpbmVyLmNvbnRyb2w/LmdldCh0aGlzLmJkYkZvcm1FcnJvcik7XHJcblxyXG4gICAgICBpZiAoIWN0cmwpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGZvcm1jb250cm9sIGZvdW5kIGZvciBuYW1lICcke3RoaXMuYmRiRm9ybUVycm9yfSdgKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5jb250cm9sID0gY3RybDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY29udHJvbCA9IHRoaXMuYmRiRm9ybUVycm9yO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0RXJyb3IoKTtcclxuXHJcbiAgICB0aGlzLmNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAoKSA9PiB0aGlzLnNldEVycm9yKCksXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEVycm9yKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdmFsaWRhdGlvbkVycm9ycyA9IHRoaXMuY29udHJvbC5lcnJvcnM7XHJcblxyXG4gICAgaWYgKCF2YWxpZGF0aW9uRXJyb3JzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3JLZXkgPSBPYmplY3Qua2V5cyh2YWxpZGF0aW9uRXJyb3JzKVswXTtcclxuXHJcbiAgICBjb25zdCB2YWxpZGF0aW9uRXJyb3JWYWx1ZSA9IHZhbGlkYXRpb25FcnJvcnNbdmFsaWRhdGlvbkVycm9yS2V5XTtcclxuXHJcbiAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBnZXRFcnJvck1lc3NhZ2UodmFsaWRhdGlvbkVycm9yS2V5LCB2YWxpZGF0aW9uRXJyb3JWYWx1ZSk7XHJcblxyXG4gICAgdGhpcy5yZW5kZXJlci5zZXRQcm9wZXJ0eSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2lubmVyVGV4dCcsIGVycm9yTWVzc2FnZSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import { LinkedList } from './linked-list';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BdbGridChildDirective {
|
|
5
|
+
constructor(element, renderer) {
|
|
6
|
+
this.element = element;
|
|
7
|
+
this.renderer = renderer;
|
|
8
|
+
this.bdbGridChild = '';
|
|
9
|
+
this.bdbGridRow = '';
|
|
10
|
+
this.bdbGridColumn = '';
|
|
11
|
+
}
|
|
12
|
+
ngOnInit() {
|
|
13
|
+
const axes = this.splitAxes();
|
|
14
|
+
let column = axes[0];
|
|
15
|
+
let row = axes[1];
|
|
16
|
+
if (this.bdbGridColumn) {
|
|
17
|
+
column = this.bdbGridColumn;
|
|
18
|
+
}
|
|
19
|
+
if (this.bdbGridRow) {
|
|
20
|
+
row = this.bdbGridRow;
|
|
21
|
+
}
|
|
22
|
+
if (column) {
|
|
23
|
+
this.renderer.setStyle(this.element.nativeElement, 'grid-column', column);
|
|
24
|
+
}
|
|
25
|
+
if (row) {
|
|
26
|
+
this.renderer.setStyle(this.element.nativeElement, 'grid-row', row);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
splitAxes() {
|
|
30
|
+
const input = this.bdbGridChild.split(' ').filter(x => !!x);
|
|
31
|
+
if (!input.length) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
34
|
+
let sourceList = new LinkedList(input);
|
|
35
|
+
let targetList = new LinkedList();
|
|
36
|
+
let node = sourceList.head;
|
|
37
|
+
while (node) {
|
|
38
|
+
if (node.value === 'span' && node.next) {
|
|
39
|
+
targetList.push(`span ${node.next.value}`);
|
|
40
|
+
node = node.next;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
targetList.push(node.value);
|
|
44
|
+
}
|
|
45
|
+
node = node.next;
|
|
46
|
+
}
|
|
47
|
+
sourceList = targetList;
|
|
48
|
+
targetList = new LinkedList();
|
|
49
|
+
node = sourceList.head;
|
|
50
|
+
while (node) {
|
|
51
|
+
if (node.next && node.next.value === '/' && node.next.next) {
|
|
52
|
+
targetList.push(`${node.value} / ${node.next.next.value}`);
|
|
53
|
+
node = node.next.next;
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
targetList.push(node.value);
|
|
57
|
+
}
|
|
58
|
+
node = node.next;
|
|
59
|
+
}
|
|
60
|
+
if (targetList.length !== 2 || !targetList.head || !targetList.tail) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
return [targetList.head.value, targetList.tail.value];
|
|
64
|
+
}
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbGridChildDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BdbGridChildDirective, isStandalone: true, selector: "[bdbGridChild], [bdbGridColumn], [bdbGridRow]", inputs: { bdbGridChild: "bdbGridChild", bdbGridRow: "bdbGridRow", bdbGridColumn: "bdbGridColumn" }, ngImport: i0 }); }
|
|
67
|
+
}
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbGridChildDirective, decorators: [{
|
|
69
|
+
type: Directive,
|
|
70
|
+
args: [{
|
|
71
|
+
selector: '[bdbGridChild], [bdbGridColumn], [bdbGridRow]',
|
|
72
|
+
standalone: true,
|
|
73
|
+
}]
|
|
74
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { bdbGridChild: [{
|
|
75
|
+
type: Input
|
|
76
|
+
}], bdbGridRow: [{
|
|
77
|
+
type: Input
|
|
78
|
+
}], bdbGridColumn: [{
|
|
79
|
+
type: Input
|
|
80
|
+
}] } });
|
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWdyaWQtY2hpbGQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9jb21tb24vYmRiLWdyaWQtY2hpbGQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8scUJBQXFCO0lBS2hDLFlBQ1UsT0FBbUIsRUFDbkIsUUFBbUI7UUFEbkIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBTnBCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBQ2xCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsa0JBQWEsR0FBRyxFQUFFLENBQUM7SUFLekIsQ0FBQztJQUVKLFFBQVE7UUFDTixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFFOUIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVsQixJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QixNQUFNLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsR0FBRyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDeEIsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDNUUsQ0FBQztRQUVELElBQUksR0FBRyxFQUFFLENBQUM7WUFDUixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDdEUsQ0FBQztJQUNILENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRTVELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDbEIsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsSUFBSSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQVUsQ0FBQztRQUMxQyxJQUFJLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBRTNCLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDdkMsVUFBVSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDbkIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDO1FBRUQsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUN4QixVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQVUsQ0FBQztRQUN0QyxJQUFJLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUV2QixPQUFPLElBQUksRUFBRSxDQUFDO1lBQ1osSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO2dCQUMzRCxVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO2dCQUMzRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7WUFDeEIsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzlCLENBQUM7WUFDRCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUNuQixDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDcEUsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBRUQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQzs4R0F6RVUscUJBQXFCO2tHQUFyQixxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLCtDQUErQztvQkFDekQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCO3VHQUVVLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTGlua2VkTGlzdCB9IGZyb20gJy4vbGlua2VkLWxpc3QnO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgc2VsZWN0b3I6ICdbYmRiR3JpZENoaWxkXSwgW2JkYkdyaWRDb2x1bW5dLCBbYmRiR3JpZFJvd10nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJHcmlkQ2hpbGREaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGJkYkdyaWRDaGlsZCA9ICcnO1xyXG4gIEBJbnB1dCgpIGJkYkdyaWRSb3cgPSAnJztcclxuICBASW5wdXQoKSBiZGJHcmlkQ29sdW1uID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBlbGVtZW50OiBFbGVtZW50UmVmLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGF4ZXMgPSB0aGlzLnNwbGl0QXhlcygpO1xyXG5cclxuICAgIGxldCBjb2x1bW4gPSBheGVzWzBdO1xyXG4gICAgbGV0IHJvdyA9IGF4ZXNbMV07XHJcblxyXG4gICAgaWYgKHRoaXMuYmRiR3JpZENvbHVtbikge1xyXG4gICAgICBjb2x1bW4gPSB0aGlzLmJkYkdyaWRDb2x1bW47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuYmRiR3JpZFJvdykge1xyXG4gICAgICByb3cgPSB0aGlzLmJkYkdyaWRSb3c7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbHVtbikge1xyXG4gICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZ3JpZC1jb2x1bW4nLCBjb2x1bW4pO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChyb3cpIHtcclxuICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudCwgJ2dyaWQtcm93Jywgcm93KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNwbGl0QXhlcygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBpbnB1dCA9IHRoaXMuYmRiR3JpZENoaWxkLnNwbGl0KCcgJykuZmlsdGVyKHggPT4gISF4KTtcclxuXHJcbiAgICBpZiAoIWlucHV0Lmxlbmd0aCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHNvdXJjZUxpc3QgPSBuZXcgTGlua2VkTGlzdChpbnB1dCk7XHJcbiAgICBsZXQgdGFyZ2V0TGlzdCA9IG5ldyBMaW5rZWRMaXN0PHN0cmluZz4oKTtcclxuICAgIGxldCBub2RlID0gc291cmNlTGlzdC5oZWFkO1xyXG5cclxuICAgIHdoaWxlIChub2RlKSB7XHJcbiAgICAgIGlmIChub2RlLnZhbHVlID09PSAnc3BhbicgJiYgbm9kZS5uZXh0KSB7XHJcbiAgICAgICAgdGFyZ2V0TGlzdC5wdXNoKGBzcGFuICR7bm9kZS5uZXh0LnZhbHVlfWApO1xyXG4gICAgICAgIG5vZGUgPSBub2RlLm5leHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGFyZ2V0TGlzdC5wdXNoKG5vZGUudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIG5vZGUgPSBub2RlLm5leHQ7XHJcbiAgICB9XHJcblxyXG4gICAgc291cmNlTGlzdCA9IHRhcmdldExpc3Q7XHJcbiAgICB0YXJnZXRMaXN0ID0gbmV3IExpbmtlZExpc3Q8c3RyaW5nPigpO1xyXG4gICAgbm9kZSA9IHNvdXJjZUxpc3QuaGVhZDtcclxuXHJcbiAgICB3aGlsZSAobm9kZSkge1xyXG4gICAgICBpZiAobm9kZS5uZXh0ICYmIG5vZGUubmV4dC52YWx1ZSA9PT0gJy8nICYmIG5vZGUubmV4dC5uZXh0KSB7XHJcbiAgICAgICAgdGFyZ2V0TGlzdC5wdXNoKGAke25vZGUudmFsdWV9IC8gJHtub2RlLm5leHQubmV4dC52YWx1ZX1gKTtcclxuICAgICAgICBub2RlID0gbm9kZS5uZXh0Lm5leHQ7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGFyZ2V0TGlzdC5wdXNoKG5vZGUudmFsdWUpO1xyXG4gICAgICB9XHJcbiAgICAgIG5vZGUgPSBub2RlLm5leHQ7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRhcmdldExpc3QubGVuZ3RoICE9PSAyIHx8ICF0YXJnZXRMaXN0LmhlYWQgfHwgIXRhcmdldExpc3QudGFpbCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIFt0YXJnZXRMaXN0LmhlYWQudmFsdWUsIHRhcmdldExpc3QudGFpbC52YWx1ZV07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|