@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
package/README.md
ADDED
package/_index.scss
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@forward './lib/theme';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './public-api';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2b3BtYWF0LWJhZGFib29tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2Rldm9wbWFhdC1iYWRhYm9vbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL3B1YmxpYy1hcGknO1xuIl19
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BehaviorSubject, Subject, catchError, finalize, of } from 'rxjs';
|
|
2
|
+
export class BdbDataSource {
|
|
3
|
+
get data() {
|
|
4
|
+
return this.dataSubject.value;
|
|
5
|
+
}
|
|
6
|
+
constructor(service, initialRequest = {}) {
|
|
7
|
+
this.service = service;
|
|
8
|
+
this.dataSubject = new BehaviorSubject([]);
|
|
9
|
+
this.responseSubject = new Subject();
|
|
10
|
+
this.loadingSubject = new BehaviorSubject(false);
|
|
11
|
+
this.errorSubject = new BehaviorSubject(null);
|
|
12
|
+
this.loading$ = this.loadingSubject.asObservable();
|
|
13
|
+
this.error$ = this.errorSubject.asObservable();
|
|
14
|
+
this.response$ = this.responseSubject.asObservable();
|
|
15
|
+
this.request = initialRequest;
|
|
16
|
+
}
|
|
17
|
+
disconnect() {
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
connect() {
|
|
21
|
+
return this.dataSubject.asObservable();
|
|
22
|
+
}
|
|
23
|
+
loadMethod(service, request) {
|
|
24
|
+
return service.read(request);
|
|
25
|
+
}
|
|
26
|
+
load() {
|
|
27
|
+
this.loadingSubject.next(true);
|
|
28
|
+
this.errorSubject.next(null);
|
|
29
|
+
this.loadMethod(this.service, this.request)
|
|
30
|
+
.pipe(catchError((err) => {
|
|
31
|
+
this.errorSubject.next(err);
|
|
32
|
+
return of({ page: 0, count: 0, rows: [], pageSize: 15 });
|
|
33
|
+
}), finalize(() => this.loadingSubject.next(false)))
|
|
34
|
+
.subscribe({
|
|
35
|
+
next: (response) => {
|
|
36
|
+
this.dataSubject.next(response.rows);
|
|
37
|
+
this.responseSubject.next(response);
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWRhdGEtc291cmNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9hcHBsaWNhdGlvbi9jb21tb24vYmRiLWRhdGEtc291cmNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxlQUFlLEVBQWMsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBT3RGLE1BQU0sT0FBTyxhQUFhO0lBWXhCLElBQUksSUFBSTtRQUNOLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDaEMsQ0FBQztJQUVELFlBQ1UsT0FBNEMsRUFDcEQsaUJBQTZCLEVBQUU7UUFEdkIsWUFBTyxHQUFQLE9BQU8sQ0FBcUM7UUFoQi9DLGdCQUFXLEdBQUcsSUFBSSxlQUFlLENBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3BELG9CQUFlLEdBQUcsSUFBSSxPQUFPLEVBQTRCLENBQUM7UUFDMUQsbUJBQWMsR0FBRyxJQUFJLGVBQWUsQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUNyRCxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUVwRSxhQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUM5QyxXQUFNLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQVlyRCxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU87SUFDVCxDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsVUFBVSxDQUFDLE9BQTRDLEVBQUUsT0FBbUI7UUFDMUUsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDL0IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUM7YUFDeEMsSUFBSSxDQUNILFVBQVUsQ0FBQyxDQUFDLEdBQXNCLEVBQUUsRUFBRTtZQUNwQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM1QixPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxFQUNGLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUNoRDthQUNBLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLFFBQWtDLEVBQUUsRUFBRTtnQkFDM0MsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUN0QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IEJkYkVudGl0eVJlYWQgfSBmcm9tICcuLi8uLi9kb21haW4vY29tbW9uL2VudGl0aWVzL2JkYi1lbnRpdHktcmVhZCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgY2F0Y2hFcnJvciwgZmluYWxpemUsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJkYlJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vZG9tYWluL2NvbW1vbi9iZGItcmVzcG9uc2UnO1xyXG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQmRiUmVxdWVzdCB9IGZyb20gJy4uLy4uL2RvbWFpbi9jb21tb24vYmRiLXJlcXVlc3QnO1xyXG5pbXBvcnQgeyBCZGJTZXJ2aWNlUiB9IGZyb20gJy4uLy4uL2RvbWFpbi9jb21tb24vc2VydmljZXMvYmRiLXNlcnZpY2Utcic7XHJcbmltcG9ydCB7IEJkYkVudGl0eSB9IGZyb20gJy4uLy4uL2RvbWFpbi9jb21tb24vZW50aXRpZXMvYmRiLWVudGl0eSc7XHJcblxyXG5leHBvcnQgY2xhc3MgQmRiRGF0YVNvdXJjZTxURW50aXR5UmVhZCBleHRlbmRzIEJkYkVudGl0eVJlYWQ+IGltcGxlbWVudHMgRGF0YVNvdXJjZTxURW50aXR5UmVhZD4ge1xyXG4gIHB1YmxpYyBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VEVudGl0eVJlYWRbXT4oW10pO1xyXG4gIHByaXZhdGUgcmVzcG9uc2VTdWJqZWN0ID0gbmV3IFN1YmplY3Q8QmRiUmVzcG9uc2U8VEVudGl0eVJlYWQ+PigpO1xyXG4gIHByaXZhdGUgbG9hZGluZ1N1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcclxuICBwcml2YXRlIGVycm9yU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8SHR0cEVycm9yUmVzcG9uc2UgfCBudWxsPihudWxsKTtcclxuXHJcbiAgcHVibGljIGxvYWRpbmckID0gdGhpcy5sb2FkaW5nU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICBwdWJsaWMgZXJyb3IkID0gdGhpcy5lcnJvclN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgcHVibGljIHJlc3BvbnNlJCA9IHRoaXMucmVzcG9uc2VTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgcmVxdWVzdDogQmRiUmVxdWVzdDtcclxuXHJcbiAgZ2V0IGRhdGEoKTogVEVudGl0eVJlYWRbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU3ViamVjdC52YWx1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBzZXJ2aWNlOiBCZGJTZXJ2aWNlUjxCZGJFbnRpdHksIFRFbnRpdHlSZWFkPixcclxuICAgIGluaXRpYWxSZXF1ZXN0OiBCZGJSZXF1ZXN0ID0ge31cclxuICApIHtcclxuICAgIHRoaXMucmVxdWVzdCA9IGluaXRpYWxSZXF1ZXN0O1xyXG4gIH1cclxuXHJcbiAgZGlzY29ubmVjdCgpOiB2b2lkIHtcclxuICAgIHJldHVybjtcclxuICB9XHJcblxyXG4gIGNvbm5lY3QoKTogT2JzZXJ2YWJsZTxURW50aXR5UmVhZFtdIHwgcmVhZG9ubHkgVEVudGl0eVJlYWRbXT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0YVN1YmplY3QuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBsb2FkTWV0aG9kKHNlcnZpY2U6IEJkYlNlcnZpY2VSPEJkYkVudGl0eSwgVEVudGl0eVJlYWQ+LCByZXF1ZXN0OiBCZGJSZXF1ZXN0KTogT2JzZXJ2YWJsZTxCZGJSZXNwb25zZTxURW50aXR5UmVhZD4+IHtcclxuICAgIHJldHVybiBzZXJ2aWNlLnJlYWQocmVxdWVzdCk7XHJcbiAgfVxyXG5cclxuICBsb2FkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5sb2FkaW5nU3ViamVjdC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5lcnJvclN1YmplY3QubmV4dChudWxsKTtcclxuXHJcbiAgICB0aGlzLmxvYWRNZXRob2QodGhpcy5zZXJ2aWNlLCB0aGlzLnJlcXVlc3QpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIGNhdGNoRXJyb3IoKGVycjogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXJyb3JTdWJqZWN0Lm5leHQoZXJyKTtcclxuICAgICAgICAgIHJldHVybiBvZih7IHBhZ2U6IDAsIGNvdW50OiAwLCByb3dzOiBbXSwgcGFnZVNpemU6IDE1IH0pO1xyXG4gICAgICAgIH0pLFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHRoaXMubG9hZGluZ1N1YmplY3QubmV4dChmYWxzZSkpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBCZGJSZXNwb25zZTxURW50aXR5UmVhZD4pID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YVN1YmplY3QubmV4dChyZXNwb25zZS5yb3dzKTtcclxuICAgICAgICAgIHRoaXMucmVzcG9uc2VTdWJqZWN0Lm5leHQocmVzcG9uc2UpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { Subject, takeUntil } from 'rxjs';
|
|
3
|
+
import { MatPaginatorModule } from '@angular/material/paginator';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/material/paginator";
|
|
6
|
+
export class BdbPaginatorComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
this._onDestroy = new Subject();
|
|
9
|
+
}
|
|
10
|
+
ngOnInit() {
|
|
11
|
+
this.dataSource.response$.pipe(takeUntil(this._onDestroy)).subscribe({
|
|
12
|
+
next: x => {
|
|
13
|
+
this.pageSize = x.pageSize;
|
|
14
|
+
this.page = x.page;
|
|
15
|
+
this.length = x.count;
|
|
16
|
+
},
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
ngOnDestroy() {
|
|
20
|
+
this._onDestroy.next();
|
|
21
|
+
this._onDestroy.complete();
|
|
22
|
+
}
|
|
23
|
+
changePage(event) {
|
|
24
|
+
this.dataSource.request.page = event.pageIndex;
|
|
25
|
+
this.dataSource.request.pageSize = event.pageSize;
|
|
26
|
+
this.dataSource.load();
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbPaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
29
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BdbPaginatorComponent, isStandalone: true, selector: "bdb-paginator", inputs: { dataSource: "dataSource" }, ngImport: i0, template: "<mat-paginator\r\n [pageSize]=\"pageSize\"\r\n [pageIndex]=\"page\"\r\n [length]=\"length\"\r\n (page)=\"changePage($event)\"\r\n [pageSizeOptions]=\"[5, 10, 15, 20, 25]\"\r\n [hidePageSize]=\"true\">\r\n</mat-paginator>\r\n", styles: [""], dependencies: [{ kind: "ngmodule", type: MatPaginatorModule }, { kind: "component", type: i1.MatPaginator, selector: "mat-paginator", inputs: ["color", "pageIndex", "length", "pageSize", "pageSizeOptions", "hidePageSize", "showFirstLastButtons", "selectConfig", "disabled"], outputs: ["page"], exportAs: ["matPaginator"] }] }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbPaginatorComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{ selector: 'bdb-paginator', standalone: true, imports: [MatPaginatorModule], template: "<mat-paginator\r\n [pageSize]=\"pageSize\"\r\n [pageIndex]=\"page\"\r\n [length]=\"length\"\r\n (page)=\"changePage($event)\"\r\n [pageSizeOptions]=\"[5, 10, 15, 20, 25]\"\r\n [hidePageSize]=\"true\">\r\n</mat-paginator>\r\n" }]
|
|
34
|
+
}], propDecorators: { dataSource: [{
|
|
35
|
+
type: Input
|
|
36
|
+
}] } });
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLXBhZ2luYXRvci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2FwcGxpY2F0aW9uL2NvbW1vbi9wYWdpbmF0b3IvYmRiLXBhZ2luYXRvci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2FwcGxpY2F0aW9uL2NvbW1vbi9wYWdpbmF0b3IvYmRiLXBhZ2luYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFcEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7OztBQVdqRSxNQUFNLE9BQU8scUJBQXFCO0lBUGxDO1FBVVUsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7S0EwQjFDO0lBcEJDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztZQUNuRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUU7Z0JBQ1IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDO2dCQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztZQUN4QixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFnQjtRQUN6QixJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDLFNBQVMsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3pCLENBQUM7OEdBNUJVLHFCQUFxQjtrR0FBckIscUJBQXFCLCtHQ2RsQyx3T0FRQSx5RERFWSxrQkFBa0I7OzJGQUlqQixxQkFBcUI7a0JBUGpDLFNBQVM7K0JBQ0UsZUFBZSxjQUNiLElBQUksV0FDUCxDQUFDLGtCQUFrQixDQUFDOzhCQUtwQixVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUGFnZUV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IE1hdFBhZ2luYXRvck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IEJkYkVudGl0eVJlYWQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vY29tbW9uL2VudGl0aWVzL2JkYi1lbnRpdHktcmVhZCc7XHJcbmltcG9ydCB7IEJkYkRhdGFTb3VyY2UgfSBmcm9tICcuLi9iZGItZGF0YS1zb3VyY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdiZGItcGFnaW5hdG9yJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXRQYWdpbmF0b3JNb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZGItcGFnaW5hdG9yLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZGItcGFnaW5hdG9yLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJQYWdpbmF0b3JDb21wb25lbnQ8VEVudGl0eVJlYWQgZXh0ZW5kcyBCZGJFbnRpdHlSZWFkPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBkYXRhU291cmNlITogQmRiRGF0YVNvdXJjZTxURW50aXR5UmVhZD47XHJcblxyXG4gIHByaXZhdGUgX29uRGVzdHJveSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIHBhZ2VTaXplPzogbnVtYmVyO1xyXG4gIHBhZ2U/OiBudW1iZXI7XHJcbiAgbGVuZ3RoPzogbnVtYmVyO1xyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5yZXNwb25zZSQucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogeCA9PiB7XHJcbiAgICAgICAgdGhpcy5wYWdlU2l6ZSA9IHgucGFnZVNpemU7XHJcbiAgICAgICAgdGhpcy5wYWdlID0geC5wYWdlO1xyXG4gICAgICAgIHRoaXMubGVuZ3RoID0geC5jb3VudDtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VQYWdlKGV2ZW50OiBQYWdlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5yZXF1ZXN0LnBhZ2UgPSBldmVudC5wYWdlSW5kZXg7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UucmVxdWVzdC5wYWdlU2l6ZSA9IGV2ZW50LnBhZ2VTaXplO1xyXG4gICAgdGhpcy5kYXRhU291cmNlLmxvYWQoKTtcclxuICB9XHJcbn1cclxuIiwiPG1hdC1wYWdpbmF0b3JcclxuICBbcGFnZVNpemVdPVwicGFnZVNpemVcIlxyXG4gIFtwYWdlSW5kZXhdPVwicGFnZVwiXHJcbiAgW2xlbmd0aF09XCJsZW5ndGhcIlxyXG4gIChwYWdlKT1cImNoYW5nZVBhZ2UoJGV2ZW50KVwiXHJcbiAgW3BhZ2VTaXplT3B0aW9uc109XCJbNSwgMTAsIDE1LCAyMCwgMjVdXCJcclxuICBbaGlkZVBhZ2VTaXplXT1cInRydWVcIj5cclxuPC9tYXQtcGFnaW5hdG9yPlxyXG4iXX0=
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Component, HostBinding, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
+
import { Subject, debounceTime, distinctUntilChanged, takeUntil } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@angular/forms";
|
|
9
|
+
import * as i3 from "@angular/material/icon";
|
|
10
|
+
export class BdbQueryInputComponent {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.class = 'khi-query-input';
|
|
13
|
+
this._onDestroy = new Subject();
|
|
14
|
+
this.queryFormControl = new FormControl(undefined, { nonNullable: true });
|
|
15
|
+
}
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
this.queryFormControl.valueChanges
|
|
18
|
+
.pipe(debounceTime(100), distinctUntilChanged(), takeUntil(this._onDestroy))
|
|
19
|
+
.subscribe({
|
|
20
|
+
next: x => {
|
|
21
|
+
if (this.dataSource) {
|
|
22
|
+
this.dataSource.request.query = x;
|
|
23
|
+
this.dataSource.request.page = 0;
|
|
24
|
+
this.dataSource.load();
|
|
25
|
+
}
|
|
26
|
+
},
|
|
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: BdbQueryInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BdbQueryInputComponent, isStandalone: true, selector: "bdb-query-input[dataSource]", inputs: { dataSource: "dataSource" }, host: { properties: { "class": "this.class" } }, ngImport: i0, template: "<input spellcheck=\"false\" autocomplete=\"false\" [formControl]=\"queryFormControl\" />\r\n<mat-icon *ngIf=\"!queryFormControl.value\">search</mat-icon>\r\n<mat-icon *ngIf=\"queryFormControl.value\" (click)=\"queryFormControl.patchValue(undefined)\">clear</mat-icon>\r\n", styles: [":host{display:inline-flex;border-radius:4px;min-height:36px;max-width:100%;flex-direction:row;align-items:center}input{border:none;outline:none;padding:4px;font-size:1rem;min-width:40px;min-height:auto}.mat-icon{flex:24px 0 0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbQueryInputComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'bdb-query-input[dataSource]', standalone: true, imports: [CommonModule, ReactiveFormsModule, MatIconModule], template: "<input spellcheck=\"false\" autocomplete=\"false\" [formControl]=\"queryFormControl\" />\r\n<mat-icon *ngIf=\"!queryFormControl.value\">search</mat-icon>\r\n<mat-icon *ngIf=\"queryFormControl.value\" (click)=\"queryFormControl.patchValue(undefined)\">clear</mat-icon>\r\n", styles: [":host{display:inline-flex;border-radius:4px;min-height:36px;max-width:100%;flex-direction:row;align-items:center}input{border:none;outline:none;padding:4px;font-size:1rem;min-width:40px;min-height:auto}.mat-icon{flex:24px 0 0}\n"] }]
|
|
39
|
+
}], propDecorators: { class: [{
|
|
40
|
+
type: HostBinding,
|
|
41
|
+
args: ['class']
|
|
42
|
+
}], dataSource: [{
|
|
43
|
+
type: Input
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLXF1ZXJ5LWlucHV0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvYXBwbGljYXRpb24vY29tbW9uL3F1ZXJ5LWlucHV0L2JkYi1xdWVyeS1pbnB1dC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2FwcGxpY2F0aW9uL2NvbW1vbi9xdWVyeS1pbnB1dC9iZGItcXVlcnktaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUd2RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxvQkFBb0IsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBUzlFLE1BQU0sT0FBTyxzQkFBc0I7SUFQbkM7UUFRd0IsVUFBSyxHQUFHLGlCQUFpQixDQUFDO1FBRXhDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ3pDLHFCQUFnQixHQUFHLElBQUksV0FBVyxDQUFxQixTQUFTLEVBQUUsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQW9CMUY7SUFsQkMsUUFBUTtRQUNOLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZO2FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQzNFLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLENBQUMsRUFBRTtnQkFDUixJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQztvQkFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQztvQkFDakMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDekIsQ0FBQztZQUNILENBQUM7U0FDRixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQXZCVSxzQkFBc0I7a0dBQXRCLHNCQUFzQiw4S0NmbkMsaVJBR0EsNlJEUVksWUFBWSxrSUFBRSxtQkFBbUIseWtCQUFFLGFBQWE7OzJGQUkvQyxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0UsNkJBQTZCLGNBQzNCLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxhQUFhLENBQUM7OEJBS3JDLEtBQUs7c0JBQTFCLFdBQVc7dUJBQUMsT0FBTztnQkFDWCxVQUFVO3NCQUFsQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IEJkYkVudGl0eVJlYWQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vY29tbW9uL2VudGl0aWVzL2JkYi1lbnRpdHktcmVhZCc7XHJcbmltcG9ydCB7IEJkYkRhdGFTb3VyY2UgfSBmcm9tICcuLi9iZGItZGF0YS1zb3VyY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYmRiLXF1ZXJ5LWlucHV0W2RhdGFTb3VyY2VdJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUsIE1hdEljb25Nb2R1bGVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZGItcXVlcnktaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2JkYi1xdWVyeS1pbnB1dC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQmRiUXVlcnlJbnB1dENvbXBvbmVudDxURW50aXR5UmVhZCBleHRlbmRzIEJkYkVudGl0eVJlYWQ+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKSBjbGFzcyA9ICdraGktcXVlcnktaW5wdXQnO1xyXG4gIEBJbnB1dCgpIGRhdGFTb3VyY2UhOiBCZGJEYXRhU291cmNlPFRFbnRpdHlSZWFkPjtcclxuICBwcml2YXRlIF9vbkRlc3Ryb3kgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gIHF1ZXJ5Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQsIHsgbm9uTnVsbGFibGU6IHRydWUgfSk7XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5xdWVyeUZvcm1Db250cm9sLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShkZWJvdW5jZVRpbWUoMTAwKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgdGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IHggPT4ge1xyXG4gICAgICAgICAgaWYgKHRoaXMuZGF0YVNvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UucmVxdWVzdC5xdWVyeSA9IHg7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5yZXF1ZXN0LnBhZ2UgPSAwO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UubG9hZCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kubmV4dCgpO1xyXG4gICAgdGhpcy5fb25EZXN0cm95LmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxpbnB1dCBzcGVsbGNoZWNrPVwiZmFsc2VcIiBhdXRvY29tcGxldGU9XCJmYWxzZVwiIFtmb3JtQ29udHJvbF09XCJxdWVyeUZvcm1Db250cm9sXCIgLz5cclxuPG1hdC1pY29uICpuZ0lmPVwiIXF1ZXJ5Rm9ybUNvbnRyb2wudmFsdWVcIj5zZWFyY2g8L21hdC1pY29uPlxyXG48bWF0LWljb24gKm5nSWY9XCJxdWVyeUZvcm1Db250cm9sLnZhbHVlXCIgKGNsaWNrKT1cInF1ZXJ5Rm9ybUNvbnRyb2wucGF0Y2hWYWx1ZSh1bmRlZmluZWQpXCI+Y2xlYXI8L21hdC1pY29uPlxyXG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Component, inject, Input } from '@angular/core';
|
|
2
|
+
import { ControlContainer } from '@angular/forms';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BdbSearchWrapperBaseComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.controlContainer = inject(ControlContainer);
|
|
7
|
+
}
|
|
8
|
+
ngOnInit() {
|
|
9
|
+
if (this.control) {
|
|
10
|
+
this.formControl = this.control;
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
if (!this.controlName) {
|
|
14
|
+
throw 'No FormControl or FormControlName provided';
|
|
15
|
+
}
|
|
16
|
+
const ctrl = this.controlContainer.control?.get(this.controlName);
|
|
17
|
+
if (!ctrl) {
|
|
18
|
+
throw `FormControl '${this.controlName}' not found`;
|
|
19
|
+
}
|
|
20
|
+
this.formControl = ctrl;
|
|
21
|
+
}
|
|
22
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbSearchWrapperBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
23
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BdbSearchWrapperBaseComponent, isStandalone: true, selector: "ng-component", inputs: { controlName: "controlName", control: "control" }, ngImport: i0, template: '', isInline: true }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbSearchWrapperBaseComponent, decorators: [{
|
|
26
|
+
type: Component,
|
|
27
|
+
args: [{ template: '', standalone: true }]
|
|
28
|
+
}], propDecorators: { controlName: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}], control: [{
|
|
31
|
+
type: Input
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLXNlYXJjaC13cmFwcGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvYXBwbGljYXRpb24vY29tbW9uL3NlYXJjaC9iZGItc2VhcmNoLXdyYXBwZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNqRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFJL0QsTUFBTSxPQUFnQiw2QkFBNkI7SUFEbkQ7UUFPRSxxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQW9CN0M7SUFsQkMsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNoQyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEIsTUFBTSw0Q0FBNEMsQ0FBQztRQUNyRCxDQUFDO1FBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNWLE1BQU0sZ0JBQWdCLElBQUksQ0FBQyxXQUFXLGFBQWEsQ0FBQztRQUN0RCxDQUFDO1FBRUQsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUF1QyxDQUFDO0lBQzdELENBQUM7OEdBekJtQiw2QkFBNkI7a0dBQTdCLDZCQUE2QixvSUFENUIsRUFBRTs7MkZBQ0gsNkJBQTZCO2tCQURsRCxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFOzhCQUVsQyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBCZGJFbnRpdHlSZWFkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2NvbW1vbi9lbnRpdGllcy9iZGItZW50aXR5LXJlYWQnO1xyXG5cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmRiU2VhcmNoV3JhcHBlckJhc2VDb21wb25lbnQ8VEVudGl0eVJlYWQgZXh0ZW5kcyBCZGJFbnRpdHlSZWFkPiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgY29udHJvbE5hbWU/OiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29udHJvbD86IEZvcm1Db250cm9sPFRFbnRpdHlSZWFkIHwgbnVsbD47XHJcblxyXG4gIGZvcm1Db250cm9sITogRm9ybUNvbnRyb2w8VEVudGl0eVJlYWQgfCBudWxsPjtcclxuXHJcbiAgY29udHJvbENvbnRhaW5lciA9IGluamVjdChDb250cm9sQ29udGFpbmVyKTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5jb250cm9sKSB7XHJcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wgPSB0aGlzLmNvbnRyb2w7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMuY29udHJvbE5hbWUpIHtcclxuICAgICAgdGhyb3cgJ05vIEZvcm1Db250cm9sIG9yIEZvcm1Db250cm9sTmFtZSBwcm92aWRlZCc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgY3RybCA9IHRoaXMuY29udHJvbENvbnRhaW5lci5jb250cm9sPy5nZXQodGhpcy5jb250cm9sTmFtZSk7XHJcblxyXG4gICAgaWYgKCFjdHJsKSB7XHJcbiAgICAgIHRocm93IGBGb3JtQ29udHJvbCAnJHt0aGlzLmNvbnRyb2xOYW1lfScgbm90IGZvdW5kYDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZvcm1Db250cm9sID0gY3RybCBhcyBGb3JtQ29udHJvbDxURW50aXR5UmVhZCB8IG51bGw+O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, Optional, Self, ViewChild, } from '@angular/core';
|
|
3
|
+
import { FormControl, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
+
import { MatAutocompleteModule, MatAutocompleteTrigger, } from '@angular/material/autocomplete';
|
|
5
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
6
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
7
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
8
|
+
import { MatInputModule } from '@angular/material/input';
|
|
9
|
+
import { BehaviorSubject, debounceTime, distinctUntilChanged, filter, Subject, takeUntil } from 'rxjs';
|
|
10
|
+
import { FunctionPipe } from '../../../common/function.pipe';
|
|
11
|
+
import { BdbFormErrorDirective } from '../../../common/bdb-form-error.directive';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/forms";
|
|
14
|
+
import * as i2 from "@angular/common";
|
|
15
|
+
import * as i3 from "@angular/material/icon";
|
|
16
|
+
import * as i4 from "@angular/material/form-field";
|
|
17
|
+
import * as i5 from "@angular/material/input";
|
|
18
|
+
import * as i6 from "@angular/material/autocomplete";
|
|
19
|
+
import * as i7 from "@angular/material/core";
|
|
20
|
+
import * as i8 from "@angular/material/button";
|
|
21
|
+
export class BdbSearchComponent {
|
|
22
|
+
constructor(ngControl) {
|
|
23
|
+
this.ngControl = ngControl;
|
|
24
|
+
this.label = '';
|
|
25
|
+
this.hint = '';
|
|
26
|
+
this.placeholder = '';
|
|
27
|
+
this._onDestroy = new Subject();
|
|
28
|
+
this.viewChange = new BehaviorSubject({
|
|
29
|
+
start: 0,
|
|
30
|
+
end: Number.MAX_VALUE,
|
|
31
|
+
});
|
|
32
|
+
this.searchCtrl = new FormControl('', {
|
|
33
|
+
nonNullable: true,
|
|
34
|
+
validators: [() => this.ngControl.errors],
|
|
35
|
+
});
|
|
36
|
+
this.inputTabIndex = 0;
|
|
37
|
+
this.hasValue = false;
|
|
38
|
+
this.isDisabled = false;
|
|
39
|
+
ngControl.valueAccessor = this;
|
|
40
|
+
this.searchCtrl.valueChanges
|
|
41
|
+
.pipe(takeUntil(this._onDestroy), debounceTime(100), distinctUntilChanged(), filter(x => typeof x === 'string'))
|
|
42
|
+
.subscribe({
|
|
43
|
+
next: x => {
|
|
44
|
+
this.dataSource.request.query = x;
|
|
45
|
+
this.dataSource.load();
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
ngOnInit() {
|
|
50
|
+
this.searchOptions = this.dataSource.connect();
|
|
51
|
+
this.ngControl.valueChanges?.pipe(takeUntil(this._onDestroy)).subscribe({
|
|
52
|
+
next: () => this.searchCtrl.updateValueAndValidity(),
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
ngAfterViewInit() {
|
|
56
|
+
this.autoCompleteTrigger?.panelClosingActions.pipe(takeUntil(this._onDestroy)).subscribe({
|
|
57
|
+
next: x => {
|
|
58
|
+
if (x === null) {
|
|
59
|
+
this.searchCtrl.setValue('');
|
|
60
|
+
this.searchInput?.nativeElement.blur();
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
this._onDestroy.next();
|
|
67
|
+
this._onDestroy.complete();
|
|
68
|
+
}
|
|
69
|
+
writeValue(obj) {
|
|
70
|
+
if (!obj) {
|
|
71
|
+
this.hasValue = false;
|
|
72
|
+
this.inputTabIndex = 0;
|
|
73
|
+
this.searchCtrl.setValue('');
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
this.searchCtrl.setValue(obj);
|
|
77
|
+
this.inputTabIndex = -1;
|
|
78
|
+
this.hasValue = true;
|
|
79
|
+
}
|
|
80
|
+
registerOnChange(fn) {
|
|
81
|
+
this.onChange = fn;
|
|
82
|
+
}
|
|
83
|
+
registerOnTouched(fn) {
|
|
84
|
+
this.onTouch = fn;
|
|
85
|
+
}
|
|
86
|
+
setDisabledState(isDisabled) {
|
|
87
|
+
isDisabled ? this.searchCtrl.disable() : this.searchCtrl.enable();
|
|
88
|
+
this.isDisabled = isDisabled;
|
|
89
|
+
}
|
|
90
|
+
onFocus() {
|
|
91
|
+
if (this.hasValue) {
|
|
92
|
+
this.searchInput?.nativeElement.blur();
|
|
93
|
+
this.autoCompleteTrigger?.closePanel();
|
|
94
|
+
this.clearButton?.focus();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
onBlur() {
|
|
98
|
+
if (!this.onTouch) {
|
|
99
|
+
throw 'No onTouch callback registered';
|
|
100
|
+
}
|
|
101
|
+
this.onTouch();
|
|
102
|
+
}
|
|
103
|
+
selectOption(event) {
|
|
104
|
+
if (!this.onChange) {
|
|
105
|
+
throw 'No onChange callback registered';
|
|
106
|
+
}
|
|
107
|
+
this.inputTabIndex = -1;
|
|
108
|
+
this.hasValue = true;
|
|
109
|
+
this.searchInput?.nativeElement.blur();
|
|
110
|
+
const value = event.option.value;
|
|
111
|
+
this.onChange(value);
|
|
112
|
+
}
|
|
113
|
+
clear() {
|
|
114
|
+
if (!this.onChange) {
|
|
115
|
+
throw 'No onChange callback registered';
|
|
116
|
+
}
|
|
117
|
+
this.hasValue = false;
|
|
118
|
+
this.inputTabIndex = 0;
|
|
119
|
+
this.searchCtrl.setValue('');
|
|
120
|
+
this.searchInput?.nativeElement.focus();
|
|
121
|
+
this.onChange(null);
|
|
122
|
+
}
|
|
123
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbSearchComponent, deps: [{ token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
124
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.1", type: BdbSearchComponent, isStandalone: true, selector: "bdb-search", inputs: { dataSource: "dataSource", displayFn: "displayFn", label: "label", hint: "hint", placeholder: "placeholder" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true }, { propertyName: "autoCompleteTrigger", first: true, predicate: MatAutocompleteTrigger, descendants: true }], ngImport: i0, template: "<div class=\"search-container\">\r\n <div class=\"search-disabled-cover\" *ngIf=\"hasValue\">\r\n <button #clearButton mat-icon-button type=\"button\" [disabled]=\"isDisabled\" (click)=\"clear()\" color=\"danger\">\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n </div>\r\n <mat-form-field class=\"search-form-field\">\r\n <mat-label>{{ label }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n [formControl]=\"searchCtrl\"\r\n [matAutocomplete]=\"autoComplete\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n #searchInput\r\n [tabIndex]=\"inputTabIndex\"\r\n [placeholder]=\"placeholder\" />\r\n <mat-autocomplete #autoComplete=\"matAutocomplete\" (optionSelected)=\"selectOption($event)\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of searchOptions | async\" [value]=\"option\">\r\n {{ option | function: displayFn }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n\r\n <mat-icon *ngIf=\"!hasValue\" matSuffix [ngClass]=\"{ 'search-icon-disabled': isDisabled }\">search</mat-icon>\r\n <mat-error [bdbFormError]=\"searchCtrl\"> </mat-error>\r\n <mat-hint>{{ hint }}</mat-hint>\r\n </mat-form-field>\r\n</div>\r\n", styles: [".search-container{position:relative}.search-disabled-cover{position:absolute;width:100%;height:100%;z-index:10;display:flex;justify-content:flex-end;align-items:flex-start;padding:4px}.search-form-field{width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { 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.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i4.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { 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: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i6.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "directive", type: BdbFormErrorDirective, selector: "[bdbFormError]", inputs: ["bdbFormError"] }, { kind: "pipe", type: FunctionPipe, name: "function" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i8.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] }); }
|
|
125
|
+
}
|
|
126
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbSearchComponent, decorators: [{
|
|
127
|
+
type: Component,
|
|
128
|
+
args: [{ selector: 'bdb-search', standalone: true, imports: [
|
|
129
|
+
CommonModule,
|
|
130
|
+
MatIconModule,
|
|
131
|
+
MatFormFieldModule,
|
|
132
|
+
MatInputModule,
|
|
133
|
+
ReactiveFormsModule,
|
|
134
|
+
MatAutocompleteModule,
|
|
135
|
+
BdbFormErrorDirective,
|
|
136
|
+
FunctionPipe,
|
|
137
|
+
MatButtonModule,
|
|
138
|
+
], template: "<div class=\"search-container\">\r\n <div class=\"search-disabled-cover\" *ngIf=\"hasValue\">\r\n <button #clearButton mat-icon-button type=\"button\" [disabled]=\"isDisabled\" (click)=\"clear()\" color=\"danger\">\r\n <mat-icon>clear</mat-icon>\r\n </button>\r\n </div>\r\n <mat-form-field class=\"search-form-field\">\r\n <mat-label>{{ label }}</mat-label>\r\n <input\r\n type=\"text\"\r\n matInput\r\n [formControl]=\"searchCtrl\"\r\n [matAutocomplete]=\"autoComplete\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n #searchInput\r\n [tabIndex]=\"inputTabIndex\"\r\n [placeholder]=\"placeholder\" />\r\n <mat-autocomplete #autoComplete=\"matAutocomplete\" (optionSelected)=\"selectOption($event)\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of searchOptions | async\" [value]=\"option\">\r\n {{ option | function: displayFn }}\r\n </mat-option>\r\n </mat-autocomplete>\r\n\r\n <mat-icon *ngIf=\"!hasValue\" matSuffix [ngClass]=\"{ 'search-icon-disabled': isDisabled }\">search</mat-icon>\r\n <mat-error [bdbFormError]=\"searchCtrl\"> </mat-error>\r\n <mat-hint>{{ hint }}</mat-hint>\r\n </mat-form-field>\r\n</div>\r\n", styles: [".search-container{position:relative}.search-disabled-cover{position:absolute;width:100%;height:100%;z-index:10;display:flex;justify-content:flex-end;align-items:flex-start;padding:4px}.search-form-field{width:100%}\n"] }]
|
|
139
|
+
}], ctorParameters: () => [{ type: i1.NgControl, decorators: [{
|
|
140
|
+
type: Optional
|
|
141
|
+
}, {
|
|
142
|
+
type: Self
|
|
143
|
+
}] }], propDecorators: { dataSource: [{
|
|
144
|
+
type: Input
|
|
145
|
+
}], displayFn: [{
|
|
146
|
+
type: Input
|
|
147
|
+
}], label: [{
|
|
148
|
+
type: Input
|
|
149
|
+
}], hint: [{
|
|
150
|
+
type: Input
|
|
151
|
+
}], placeholder: [{
|
|
152
|
+
type: Input
|
|
153
|
+
}], searchInput: [{
|
|
154
|
+
type: ViewChild,
|
|
155
|
+
args: ['searchInput']
|
|
156
|
+
}], clearButton: [{
|
|
157
|
+
type: ViewChild,
|
|
158
|
+
args: ['clearButton']
|
|
159
|
+
}], autoCompleteTrigger: [{
|
|
160
|
+
type: ViewChild,
|
|
161
|
+
args: [MatAutocompleteTrigger]
|
|
162
|
+
}] } });
|
|
163
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLXNlYXJjaC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2FwcGxpY2F0aW9uL2NvbW1vbi9zZWFyY2gvYmRiLXNlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYWRhYm9vbS9zcmMvbGliL2FwcGxpY2F0aW9uL2NvbW1vbi9zZWFyY2gvYmRiLXNlYXJjaC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFFVCxLQUFLLEVBR0wsUUFBUSxFQUNSLElBQUksRUFDSixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixXQUFXLEVBQWEsbUJBQW1CLEVBQW9CLE1BQU0sZ0JBQWdCLENBQUM7QUFDckgsT0FBTyxFQUNMLHFCQUFxQixFQUVyQixzQkFBc0IsR0FDdkIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFpQixNQUFNLDBCQUEwQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkgsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDOzs7Ozs7Ozs7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QUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFFb0IsV0FBVztzQkFBcEMsU0FBUzt1QkFBQyxhQUFhO2dCQUNFLFdBQVc7c0JBQXBDLFNBQVM7dUJBQUMsYUFBYTtnQkFDVyxtQkFBbUI7c0JBQXJELFNBQVM7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sbGVjdGlvblZpZXdlciwgTGlzdFJhbmdlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvbGxlY3Rpb25zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHtcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFbGVtZW50UmVmLFxyXG4gIElucHV0LFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgU2VsZixcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0aW9uRXJyb3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge1xyXG4gIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50LFxyXG4gIE1hdEF1dG9jb21wbGV0ZVRyaWdnZXIsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlLCBNYXRJY29uQnV0dG9uIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgTWF0Rm9ybUZpZWxkTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZCc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgZGVib3VuY2VUaW1lLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRnVuY3Rpb25QaXBlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2Z1bmN0aW9uLnBpcGUnO1xyXG5pbXBvcnQgeyBCZGJFbnRpdHlSZWFkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2NvbW1vbi9lbnRpdGllcy9iZGItZW50aXR5LXJlYWQnO1xyXG5pbXBvcnQgeyBCZGJEYXRhU291cmNlIH0gZnJvbSAnLi4vYmRiLWRhdGEtc291cmNlJztcclxuaW1wb3J0IHsgQmRiRm9ybUVycm9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9uL2JkYi1mb3JtLWVycm9yLmRpcmVjdGl2ZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2JkYi1zZWFyY2gnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcclxuICAgIE1hdElucHV0TW9kdWxlLFxyXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcclxuICAgIE1hdEF1dG9jb21wbGV0ZU1vZHVsZSxcclxuICAgIEJkYkZvcm1FcnJvckRpcmVjdGl2ZSxcclxuICAgIEZ1bmN0aW9uUGlwZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9iZGItc2VhcmNoLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9iZGItc2VhcmNoLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJTZWFyY2hDb21wb25lbnQ8VEVudGl0eVJlYWQgZXh0ZW5kcyBCZGJFbnRpdHlSZWFkPlxyXG4gIGltcGxlbWVudHMgQ29sbGVjdGlvblZpZXdlciwgT25Jbml0LCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIENvbnRyb2xWYWx1ZUFjY2Vzc29yXHJcbntcclxuICBASW5wdXQoKSBkYXRhU291cmNlITogQmRiRGF0YVNvdXJjZTxURW50aXR5UmVhZD47XHJcbiAgQElucHV0KCkgZGlzcGxheUZuITogKF86IFRFbnRpdHlSZWFkIHwgc3RyaW5nKSA9PiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGFiZWwgPSAnJztcclxuICBASW5wdXQoKSBoaW50ID0gJyc7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnJztcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VhcmNoSW5wdXQnKSBzZWFyY2hJbnB1dD86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD47XHJcbiAgQFZpZXdDaGlsZCgnY2xlYXJCdXR0b24nKSBjbGVhckJ1dHRvbj86IE1hdEljb25CdXR0b247XHJcbiAgQFZpZXdDaGlsZChNYXRBdXRvY29tcGxldGVUcmlnZ2VyKSBhdXRvQ29tcGxldGVUcmlnZ2VyPzogTWF0QXV0b2NvbXBsZXRlVHJpZ2dlcjtcclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSBfb25EZXN0cm95ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgdmlld0NoYW5nZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TGlzdFJhbmdlPih7XHJcbiAgICBzdGFydDogMCxcclxuICAgIGVuZDogTnVtYmVyLk1BWF9WQUxVRSxcclxuICB9KTtcclxuXHJcbiAgc2VhcmNoT3B0aW9ucz86IE9ic2VydmFibGU8VEVudGl0eVJlYWRbXSB8IHJlYWRvbmx5IFRFbnRpdHlSZWFkW10+O1xyXG5cclxuICBzZWFyY2hDdHJsID0gbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IFRFbnRpdHlSZWFkPignJywge1xyXG4gICAgbm9uTnVsbGFibGU6IHRydWUsXHJcbiAgICB2YWxpZGF0b3JzOiBbKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsID0+IHRoaXMubmdDb250cm9sLmVycm9yc10sXHJcbiAgfSk7XHJcblxyXG4gIGlucHV0VGFiSW5kZXggPSAwO1xyXG4gIGhhc1ZhbHVlID0gZmFsc2U7XHJcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBvbkNoYW5nZT86IChfOiBURW50aXR5UmVhZCB8IG51bGwpID0+IHZvaWQ7XHJcbiAgb25Ub3VjaD86ICgpID0+IHZvaWQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sKSB7XHJcbiAgICBuZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XHJcblxyXG4gICAgdGhpcy5zZWFyY2hDdHJsLnZhbHVlQ2hhbmdlc1xyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSxcclxuICAgICAgICBkZWJvdW5jZVRpbWUoMTAwKSxcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxyXG4gICAgICAgIGZpbHRlcih4ID0+IHR5cGVvZiB4ID09PSAnc3RyaW5nJylcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiB4ID0+IHtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5yZXF1ZXN0LnF1ZXJ5ID0geCBhcyBzdHJpbmc7XHJcbiAgICAgICAgICB0aGlzLmRhdGFTb3VyY2UubG9hZCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlYXJjaE9wdGlvbnMgPSB0aGlzLmRhdGFTb3VyY2UuY29ubmVjdCgpO1xyXG5cclxuICAgIHRoaXMubmdDb250cm9sLnZhbHVlQ2hhbmdlcz8ucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95KSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKCkgPT4gdGhpcy5zZWFyY2hDdHJsLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRvQ29tcGxldGVUcmlnZ2VyPy5wYW5lbENsb3NpbmdBY3Rpb25zLnBpcGUodGFrZVVudGlsKHRoaXMuX29uRGVzdHJveSkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IHggPT4ge1xyXG4gICAgICAgIGlmICh4ID09PSBudWxsKSB7XHJcbiAgICAgICAgICB0aGlzLnNlYXJjaEN0cmwuc2V0VmFsdWUoJycpO1xyXG4gICAgICAgICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudC5ibHVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX29uRGVzdHJveS5uZXh0KCk7XHJcbiAgICB0aGlzLl9vbkRlc3Ryb3kuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUob2JqOiBURW50aXR5UmVhZCB8IG51bGwpOiB2b2lkIHtcclxuICAgIGlmICghb2JqKSB7XHJcbiAgICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pbnB1dFRhYkluZGV4ID0gMDtcclxuICAgICAgdGhpcy5zZWFyY2hDdHJsLnNldFZhbHVlKCcnKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VhcmNoQ3RybC5zZXRWYWx1ZShvYmopO1xyXG4gICAgdGhpcy5pbnB1dFRhYkluZGV4ID0gLTE7XHJcbiAgICB0aGlzLmhhc1ZhbHVlID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IChfOiBURW50aXR5UmVhZCB8IG51bGwpID0+IHZvaWQpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgaXNEaXNhYmxlZCA/IHRoaXMuc2VhcmNoQ3RybC5kaXNhYmxlKCkgOiB0aGlzLnNlYXJjaEN0cmwuZW5hYmxlKCk7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhhc1ZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VhcmNoSW5wdXQ/Lm5hdGl2ZUVsZW1lbnQuYmx1cigpO1xyXG4gICAgICB0aGlzLmF1dG9Db21wbGV0ZVRyaWdnZXI/LmNsb3NlUGFuZWwoKTtcclxuICAgICAgdGhpcy5jbGVhckJ1dHRvbj8uZm9jdXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5vblRvdWNoKSB7XHJcbiAgICAgIHRocm93ICdObyBvblRvdWNoIGNhbGxiYWNrIHJlZ2lzdGVyZWQnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25Ub3VjaCgpO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0T3B0aW9uKGV2ZW50OiBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgdGhyb3cgJ05vIG9uQ2hhbmdlIGNhbGxiYWNrIHJlZ2lzdGVyZWQnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5wdXRUYWJJbmRleCA9IC0xO1xyXG4gICAgdGhpcy5oYXNWYWx1ZSA9IHRydWU7XHJcbiAgICB0aGlzLnNlYXJjaElucHV0Py5uYXRpdmVFbGVtZW50LmJsdXIoKTtcclxuXHJcbiAgICBjb25zdCB2YWx1ZSA9IGV2ZW50Lm9wdGlvbi52YWx1ZSBhcyBURW50aXR5UmVhZDtcclxuICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMub25DaGFuZ2UpIHtcclxuICAgICAgdGhyb3cgJ05vIG9uQ2hhbmdlIGNhbGxiYWNrIHJlZ2lzdGVyZWQnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGFzVmFsdWUgPSBmYWxzZTtcclxuICAgIHRoaXMuaW5wdXRUYWJJbmRleCA9IDA7XHJcbiAgICB0aGlzLnNlYXJjaEN0cmwuc2V0VmFsdWUoJycpO1xyXG4gICAgdGhpcy5zZWFyY2hJbnB1dD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UobnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzZWFyY2gtY29udGFpbmVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInNlYXJjaC1kaXNhYmxlZC1jb3ZlclwiICpuZ0lmPVwiaGFzVmFsdWVcIj5cclxuICAgIDxidXR0b24gI2NsZWFyQnV0dG9uIG1hdC1pY29uLWJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImlzRGlzYWJsZWRcIiAoY2xpY2spPVwiY2xlYXIoKVwiIGNvbG9yPVwiZGFuZ2VyXCI+XHJcbiAgICAgIDxtYXQtaWNvbj5jbGVhcjwvbWF0LWljb24+XHJcbiAgICA8L2J1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWZvcm0tZmllbGQgY2xhc3M9XCJzZWFyY2gtZm9ybS1maWVsZFwiPlxyXG4gICAgPG1hdC1sYWJlbD57eyBsYWJlbCB9fTwvbWF0LWxhYmVsPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgbWF0SW5wdXRcclxuICAgICAgW2Zvcm1Db250cm9sXT1cInNlYXJjaEN0cmxcIlxyXG4gICAgICBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9Db21wbGV0ZVwiXHJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgICNzZWFyY2hJbnB1dFxyXG4gICAgICBbdGFiSW5kZXhdPVwiaW5wdXRUYWJJbmRleFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIC8+XHJcbiAgICA8bWF0LWF1dG9jb21wbGV0ZSAjYXV0b0NvbXBsZXRlPVwibWF0QXV0b2NvbXBsZXRlXCIgKG9wdGlvblNlbGVjdGVkKT1cInNlbGVjdE9wdGlvbigkZXZlbnQpXCIgW2Rpc3BsYXlXaXRoXT1cImRpc3BsYXlGblwiPlxyXG4gICAgICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIHNlYXJjaE9wdGlvbnMgfCBhc3luY1wiIFt2YWx1ZV09XCJvcHRpb25cIj5cclxuICAgICAgICB7eyBvcHRpb24gfCBmdW5jdGlvbjogZGlzcGxheUZuIH19XHJcbiAgICAgIDwvbWF0LW9wdGlvbj5cclxuICAgIDwvbWF0LWF1dG9jb21wbGV0ZT5cclxuXHJcbiAgICA8bWF0LWljb24gKm5nSWY9XCIhaGFzVmFsdWVcIiBtYXRTdWZmaXggW25nQ2xhc3NdPVwieyAnc2VhcmNoLWljb24tZGlzYWJsZWQnOiBpc0Rpc2FibGVkIH1cIj5zZWFyY2g8L21hdC1pY29uPlxyXG4gICAgPG1hdC1lcnJvciBbYmRiRm9ybUVycm9yXT1cInNlYXJjaEN0cmxcIj4gPC9tYXQtZXJyb3I+XHJcbiAgICA8bWF0LWhpbnQ+e3sgaGludCB9fTwvbWF0LWhpbnQ+XHJcbiAgPC9tYXQtZm9ybS1maWVsZD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Directive, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BdbCellDirective {
|
|
4
|
+
constructor(templateRef) {
|
|
5
|
+
this.templateRef = templateRef;
|
|
6
|
+
this.bdbCellDef = '';
|
|
7
|
+
}
|
|
8
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbCellDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.1.1", type: BdbCellDirective, isStandalone: true, selector: "ng-template[bdbCellDef]", inputs: { bdbCellDef: "bdbCellDef" }, ngImport: i0 }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbCellDirective, decorators: [{
|
|
12
|
+
type: Directive,
|
|
13
|
+
args: [{
|
|
14
|
+
selector: 'ng-template[bdbCellDef]',
|
|
15
|
+
standalone: true,
|
|
16
|
+
}]
|
|
17
|
+
}], ctorParameters: () => [{ type: i0.TemplateRef }], propDecorators: { bdbCellDef: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}] } });
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWNlbGwuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9hcHBsaWNhdGlvbi9jb21tb24vdGFibGUvYmRiLWNlbGwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFlLE1BQU0sZUFBZSxDQUFDOztBQU05RCxNQUFNLE9BQU8sZ0JBQWdCO0lBSTNCLFlBQW1CLFdBQStCO1FBQS9CLGdCQUFXLEdBQVgsV0FBVyxDQUFvQjtRQUYzQyxlQUFVLEdBQUcsRUFBRSxDQUFDO0lBRThCLENBQUM7OEdBSjNDLGdCQUFnQjtrR0FBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLFVBQVUsRUFBRSxJQUFJO2lCQUNqQjtnRkFHUSxVQUFVO3NCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnbmctdGVtcGxhdGVbYmRiQ2VsbERlZl0nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJDZWxsRGlyZWN0aXZlIHtcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBiZGJDZWxsRGVmID0gJyc7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8bmV2ZXI+KSB7fVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { BdbColumnType } from './bdb-column-type';
|
|
2
|
+
import { Injectable } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BdbColumnBuilder {
|
|
5
|
+
build(...columns) {
|
|
6
|
+
return columns;
|
|
7
|
+
}
|
|
8
|
+
string(field, title, options = {}) {
|
|
9
|
+
const ret = this._buildCommonOptions(BdbColumnType.String, field, title, options);
|
|
10
|
+
ret.pipe = options.pipe;
|
|
11
|
+
return ret;
|
|
12
|
+
}
|
|
13
|
+
number(field, title, options = {}) {
|
|
14
|
+
options.textAlign = options.textAlign ?? 'end';
|
|
15
|
+
const ret = this._buildCommonOptions(BdbColumnType.Number, field, title, options);
|
|
16
|
+
ret.format = options.format;
|
|
17
|
+
return ret;
|
|
18
|
+
}
|
|
19
|
+
percentage(field, title, options = {}) {
|
|
20
|
+
options.textAlign = options.textAlign ?? 'end';
|
|
21
|
+
const ret = this._buildCommonOptions(BdbColumnType.Percentage, field, title, options);
|
|
22
|
+
ret.digitsInfo = options.digitsInfo;
|
|
23
|
+
ret.locale = options.locale;
|
|
24
|
+
return ret;
|
|
25
|
+
}
|
|
26
|
+
currency(field, title, options = {}) {
|
|
27
|
+
options.textAlign = options.textAlign ?? 'end';
|
|
28
|
+
const ret = this._buildCommonOptions(BdbColumnType.Currency, field, title, options);
|
|
29
|
+
ret.currencyCode = options.currencyCode;
|
|
30
|
+
ret.display = options.display;
|
|
31
|
+
ret.digitsInfo = options.digitsInfo;
|
|
32
|
+
ret.locale = options.locale;
|
|
33
|
+
return ret;
|
|
34
|
+
}
|
|
35
|
+
date(field, title, options = {}) {
|
|
36
|
+
options.textAlign = options.textAlign ?? 'end';
|
|
37
|
+
const ret = this._buildCommonOptions(BdbColumnType.Date, field, title, options);
|
|
38
|
+
ret.format = options.format ?? 'short';
|
|
39
|
+
if (ret.width === undefined) {
|
|
40
|
+
switch (ret.format) {
|
|
41
|
+
case 'short':
|
|
42
|
+
ret.width = 144;
|
|
43
|
+
break;
|
|
44
|
+
case 'shortDate':
|
|
45
|
+
ret.width = 96;
|
|
46
|
+
break;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
return ret;
|
|
50
|
+
}
|
|
51
|
+
boolean(field, title, options = {}) {
|
|
52
|
+
const ret = this._buildCommonOptions(BdbColumnType.Boolean, field, title, options);
|
|
53
|
+
ret.icon = options.icon ?? true;
|
|
54
|
+
return ret;
|
|
55
|
+
}
|
|
56
|
+
enum(field, title, options = {}) {
|
|
57
|
+
const ret = this._buildCommonOptions(BdbColumnType.Enum, field, title, options);
|
|
58
|
+
ret.pipe = options.pipe;
|
|
59
|
+
return ret;
|
|
60
|
+
}
|
|
61
|
+
custom(id, title, options = {}) {
|
|
62
|
+
return {
|
|
63
|
+
type: BdbColumnType.Custom,
|
|
64
|
+
id: id,
|
|
65
|
+
title: title,
|
|
66
|
+
field: () => undefined,
|
|
67
|
+
sortDisabled: options.sortDisabled ?? true,
|
|
68
|
+
width: options.width,
|
|
69
|
+
textAlign: options.textAlign,
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
_buildCommonOptions(type, field, title, options = undefined) {
|
|
73
|
+
const fxString = field.toString();
|
|
74
|
+
const id = options?.id ?? fxString.substring(fxString.lastIndexOf('.') + 1).trim();
|
|
75
|
+
return {
|
|
76
|
+
type: type,
|
|
77
|
+
id: id,
|
|
78
|
+
title: title,
|
|
79
|
+
field: field,
|
|
80
|
+
sortDisabled: options?.sortDisabled,
|
|
81
|
+
width: options?.width,
|
|
82
|
+
textAlign: options?.textAlign,
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbColumnBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
86
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbColumnBuilder, providedIn: 'root' }); }
|
|
87
|
+
}
|
|
88
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.1", ngImport: i0, type: BdbColumnBuilder, decorators: [{
|
|
89
|
+
type: Injectable,
|
|
90
|
+
args: [{
|
|
91
|
+
providedIn: 'root',
|
|
92
|
+
}]
|
|
93
|
+
}] });
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWNvbHVtbi1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9hcHBsaWNhdGlvbi9jb21tb24vdGFibGUvYmRiLWNvbHVtbi1idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVdBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0zQyxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLEtBQUssQ0FBQyxHQUFHLE9BQW9DO1FBQzNDLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxNQUFNLENBQ0osS0FBdUMsRUFDdkMsS0FBYSxFQUNiLFVBQWtDLEVBQUU7UUFFcEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRixHQUFHLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDeEIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsTUFBTSxDQUNKLEtBQXVDLEVBQ3ZDLEtBQWEsRUFDYixVQUFrQyxFQUFFO1FBRXBDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUM7UUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNsRixHQUFHLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUM7UUFDNUIsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsVUFBVSxDQUNSLEtBQXVDLEVBQ3ZDLEtBQWEsRUFDYixVQUFz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QUs7WUFDWixLQUFLLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUztZQUN0QixZQUFZLEVBQUUsT0FBTyxDQUFDLFlBQVksSUFBSSxJQUFJO1lBQzFDLEtBQUssRUFBRSxPQUFPLENBQUMsS0FBSztZQUNwQixTQUFTLEVBQUUsT0FBTyxDQUFDLFNBQVM7U0FDN0IsQ0FBQztJQUNKLENBQUM7SUFFTyxtQkFBbUIsQ0FDekIsSUFBbUIsRUFDbkIsS0FBZ0MsRUFDaEMsS0FBYSxFQUNiLFVBQXdDLFNBQVM7UUFFakQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLElBQUksUUFBUSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ25GLE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSTtZQUNWLEVBQUUsRUFBRSxFQUFFO1lBQ04sS0FBSyxFQUFFLEtBQUs7WUFDWixLQUFLLEVBQUUsS0FBSztZQUNaLFlBQVksRUFBRSxPQUFPLEVBQUUsWUFBWTtZQUNuQyxLQUFLLEVBQUUsT0FBTyxFQUFFLEtBQUs7WUFDckIsU0FBUyxFQUFFLE9BQU8sRUFBRSxTQUFTO1NBQzlCLENBQUM7SUFDSixDQUFDOzhHQTFIVSxnQkFBZ0I7a0hBQWhCLGdCQUFnQixjQUZmLE1BQU07OzJGQUVQLGdCQUFnQjtrQkFINUIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEJkYkJvb2xlYW5Db2x1bW5PcHRpb25zLFxyXG4gIEJkYkNvbHVtbk9wdGlvbnMsXHJcbiAgQmRiQ3VycmVuY3lDb2x1bW5PcHRpb25zLFxyXG4gIEJkYkRhdGVDb2x1bW5PcHRpb25zLFxyXG4gIEJkYkVudW1Db2x1bW5PcHRpb25zLFxyXG4gIEJkYk51bWJlckNvbHVtbk9wdGlvbnMsXHJcbiAgQmRiUGVyY2VudGFnZUNvbHVtbk9wdGlvbnMsXHJcbiAgQmRiU3RyaW5nQ29sdW1uT3B0aW9ucyxcclxufSBmcm9tICcuL2JkYi1jb2x1bW4tb3B0aW9ucyc7XHJcbmltcG9ydCB7IEJkYkNvbHVtbiB9IGZyb20gJy4vYmRiLWNvbHVtbic7XHJcbmltcG9ydCB7IEJkYkNvbHVtblR5cGUgfSBmcm9tICcuL2JkYi1jb2x1bW4tdHlwZSc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmRiRW50aXR5UmVhZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9jb21tb24vZW50aXRpZXMvYmRiLWVudGl0eS1yZWFkJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBCZGJDb2x1bW5CdWlsZGVyPFRSZWFkIGV4dGVuZHMgQmRiRW50aXR5UmVhZD4ge1xyXG4gIGJ1aWxkKC4uLmNvbHVtbnM6IEJkYkNvbHVtbjxUUmVhZCwgdW5rbm93bj5bXSk6IEJkYkNvbHVtbjxUUmVhZCwgdW5rbm93bj5bXSB7XHJcbiAgICByZXR1cm4gY29sdW1ucztcclxuICB9XHJcblxyXG4gIHN0cmluZyhcclxuICAgIGZpZWxkOiAoeDogVFJlYWQpID0+IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBCZGJTdHJpbmdDb2x1bW5PcHRpb25zID0ge31cclxuICApOiBCZGJDb2x1bW48VFJlYWQsIHN0cmluZyB8IHVuZGVmaW5lZD4ge1xyXG4gICAgY29uc3QgcmV0ID0gdGhpcy5fYnVpbGRDb21tb25PcHRpb25zKEJkYkNvbHVtblR5cGUuU3RyaW5nLCBmaWVsZCwgdGl0bGUsIG9wdGlvbnMpO1xyXG4gICAgcmV0LnBpcGUgPSBvcHRpb25zLnBpcGU7XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgbnVtYmVyKFxyXG4gICAgZmllbGQ6ICh4OiBUUmVhZCkgPT4gbnVtYmVyIHwgdW5kZWZpbmVkLFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IEJkYk51bWJlckNvbHVtbk9wdGlvbnMgPSB7fVxyXG4gICk6IEJkYkNvbHVtbjxUUmVhZCwgbnVtYmVyIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBvcHRpb25zLnRleHRBbGlnbiA9IG9wdGlvbnMudGV4dEFsaWduID8/ICdlbmQnO1xyXG4gICAgY29uc3QgcmV0ID0gdGhpcy5fYnVpbGRDb21tb25PcHRpb25zKEJkYkNvbHVtblR5cGUuTnVtYmVyLCBmaWVsZCwgdGl0bGUsIG9wdGlvbnMpO1xyXG4gICAgcmV0LmZvcm1hdCA9IG9wdGlvbnMuZm9ybWF0O1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIHBlcmNlbnRhZ2UoXHJcbiAgICBmaWVsZDogKHg6IFRSZWFkKSA9PiBudW1iZXIgfCB1bmRlZmluZWQsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogQmRiUGVyY2VudGFnZUNvbHVtbk9wdGlvbnMgPSB7fVxyXG4gICk6IEJkYkNvbHVtbjxUUmVhZCwgbnVtYmVyIHwgdW5kZWZpbmVkPiB7XHJcbiAgICBvcHRpb25zLnRleHRBbGlnbiA9IG9wdGlvbnMudGV4dEFsaWduID8/ICdlbmQnO1xyXG4gICAgY29uc3QgcmV0ID0gdGhpcy5fYnVpbGRDb21tb25PcHRpb25zKEJkYkNvbHVtblR5cGUuUGVyY2VudGFnZSwgZmllbGQsIHRpdGxlLCBvcHRpb25zKTtcclxuICAgIHJldC5kaWdpdHNJbmZvID0gb3B0aW9ucy5kaWdpdHNJbmZvO1xyXG4gICAgcmV0LmxvY2FsZSA9IG9wdGlvbnMubG9jYWxlO1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIGN1cnJlbmN5KFxyXG4gICAgZmllbGQ6ICh4OiBUUmVhZCkgPT4gbnVtYmVyIHwgdW5kZWZpbmVkLFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IEJkYkN1cnJlbmN5Q29sdW1uT3B0aW9ucyA9IHt9XHJcbiAgKTogQmRiQ29sdW1uPFRSZWFkLCBudW1iZXIgfCB1bmRlZmluZWQ+IHtcclxuICAgIG9wdGlvbnMudGV4dEFsaWduID0gb3B0aW9ucy50ZXh0QWxpZ24gPz8gJ2VuZCc7XHJcbiAgICBjb25zdCByZXQgPSB0aGlzLl9idWlsZENvbW1vbk9wdGlvbnMoQmRiQ29sdW1uVHlwZS5DdXJyZW5jeSwgZmllbGQsIHRpdGxlLCBvcHRpb25zKTtcclxuICAgIHJldC5jdXJyZW5jeUNvZGUgPSBvcHRpb25zLmN1cnJlbmN5Q29kZTtcclxuICAgIHJldC5kaXNwbGF5ID0gb3B0aW9ucy5kaXNwbGF5O1xyXG4gICAgcmV0LmRpZ2l0c0luZm8gPSBvcHRpb25zLmRpZ2l0c0luZm87XHJcbiAgICByZXQubG9jYWxlID0gb3B0aW9ucy5sb2NhbGU7XHJcbiAgICByZXR1cm4gcmV0O1xyXG4gIH1cclxuXHJcbiAgZGF0ZShcclxuICAgIGZpZWxkOiAoeDogVFJlYWQpID0+IERhdGUgfCB1bmRlZmluZWQsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogQmRiRGF0ZUNvbHVtbk9wdGlvbnMgPSB7fVxyXG4gICk6IEJkYkNvbHVtbjxUUmVhZCwgRGF0ZSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgb3B0aW9ucy50ZXh0QWxpZ24gPSBvcHRpb25zLnRleHRBbGlnbiA/PyAnZW5kJztcclxuICAgIGNvbnN0IHJldCA9IHRoaXMuX2J1aWxkQ29tbW9uT3B0aW9ucyhCZGJDb2x1bW5UeXBlLkRhdGUsIGZpZWxkLCB0aXRsZSwgb3B0aW9ucyk7XHJcbiAgICByZXQuZm9ybWF0ID0gb3B0aW9ucy5mb3JtYXQgPz8gJ3Nob3J0JztcclxuICAgIGlmIChyZXQud2lkdGggPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICBzd2l0Y2ggKHJldC5mb3JtYXQpIHtcclxuICAgICAgICBjYXNlICdzaG9ydCc6XHJcbiAgICAgICAgICByZXQud2lkdGggPSAxNDQ7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdzaG9ydERhdGUnOlxyXG4gICAgICAgICAgcmV0LndpZHRoID0gOTY7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIGJvb2xlYW4oXHJcbiAgICBmaWVsZDogKHg6IFRSZWFkKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkLFxyXG4gICAgdGl0bGU6IHN0cmluZyxcclxuICAgIG9wdGlvbnM6IEJkYkJvb2xlYW5Db2x1bW5PcHRpb25zID0ge31cclxuICApOiBCZGJDb2x1bW48VFJlYWQsIGJvb2xlYW4gfCB1bmRlZmluZWQ+IHtcclxuICAgIGNvbnN0IHJldCA9IHRoaXMuX2J1aWxkQ29tbW9uT3B0aW9ucyhCZGJDb2x1bW5UeXBlLkJvb2xlYW4sIGZpZWxkLCB0aXRsZSwgb3B0aW9ucyk7XHJcbiAgICByZXQuaWNvbiA9IG9wdGlvbnMuaWNvbiA/PyB0cnVlO1xyXG4gICAgcmV0dXJuIHJldDtcclxuICB9XHJcblxyXG4gIGVudW08VEVudW0+KFxyXG4gICAgZmllbGQ6ICh4OiBUUmVhZCkgPT4gVEVudW0gfCB1bmRlZmluZWQsXHJcbiAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgb3B0aW9uczogQmRiRW51bUNvbHVtbk9wdGlvbnMgPSB7fVxyXG4gICk6IEJkYkNvbHVtbjxUUmVhZCwgVEVudW0gfCB1bmRlZmluZWQ+IHtcclxuICAgIGNvbnN0IHJldCA9IHRoaXMuX2J1aWxkQ29tbW9uT3B0aW9ucyhCZGJDb2x1bW5UeXBlLkVudW0sIGZpZWxkLCB0aXRsZSwgb3B0aW9ucyk7XHJcbiAgICByZXQucGlwZSA9IG9wdGlvbnMucGlwZTtcclxuICAgIHJldHVybiByZXQ7XHJcbiAgfVxyXG5cclxuICBjdXN0b20oaWQ6IHN0cmluZywgdGl0bGU6IHN0cmluZywgb3B0aW9uczogQmRiQ29sdW1uT3B0aW9ucyA9IHt9KTogQmRiQ29sdW1uPFRSZWFkLCB1bmtub3duPiB7XHJcbiAgICByZXR1cm4ge1xyXG4gICAgICB0eXBlOiBCZGJDb2x1bW5UeXBlLkN1c3RvbSxcclxuICAgICAgaWQ6IGlkLFxyXG4gICAgICB0aXRsZTogdGl0bGUsXHJcbiAgICAgIGZpZWxkOiAoKSA9PiB1bmRlZmluZWQsXHJcbiAgICAgIHNvcnREaXNhYmxlZDogb3B0aW9ucy5zb3J0RGlzYWJsZWQgPz8gdHJ1ZSxcclxuICAgICAgd2lkdGg6IG9wdGlvbnMud2lkdGgsXHJcbiAgICAgIHRleHRBbGlnbjogb3B0aW9ucy50ZXh0QWxpZ24sXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfYnVpbGRDb21tb25PcHRpb25zPFRDb2x1bW5UeXBlPihcclxuICAgIHR5cGU6IEJkYkNvbHVtblR5cGUsXHJcbiAgICBmaWVsZDogKHg6IFRSZWFkKSA9PiBUQ29sdW1uVHlwZSxcclxuICAgIHRpdGxlOiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBCZGJDb2x1bW5PcHRpb25zIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXHJcbiAgKTogQmRiQ29sdW1uPFRSZWFkLCBUQ29sdW1uVHlwZT4ge1xyXG4gICAgY29uc3QgZnhTdHJpbmcgPSBmaWVsZC50b1N0cmluZygpO1xyXG4gICAgY29uc3QgaWQgPSBvcHRpb25zPy5pZCA/PyBmeFN0cmluZy5zdWJzdHJpbmcoZnhTdHJpbmcubGFzdEluZGV4T2YoJy4nKSArIDEpLnRyaW0oKTtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIHR5cGU6IHR5cGUsXHJcbiAgICAgIGlkOiBpZCxcclxuICAgICAgdGl0bGU6IHRpdGxlLFxyXG4gICAgICBmaWVsZDogZmllbGQsXHJcbiAgICAgIHNvcnREaXNhYmxlZDogb3B0aW9ucz8uc29ydERpc2FibGVkLFxyXG4gICAgICB3aWR0aDogb3B0aW9ucz8ud2lkdGgsXHJcbiAgICAgIHRleHRBbGlnbjogb3B0aW9ucz8udGV4dEFsaWduLFxyXG4gICAgfTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWNvbHVtbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9hcHBsaWNhdGlvbi9jb21tb24vdGFibGUvYmRiLWNvbHVtbi1vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlVHJhbnNmb3JtLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJkYkNvbHVtbk9wdGlvbnMge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIHNvcnREaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgd2lkdGg/OiBudW1iZXI7XHJcbiAgdGV4dEFsaWduPzogJ3N0YXJ0JyB8ICdlbmQnO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJkYkJvb2xlYW5Db2x1bW5PcHRpb25zIGV4dGVuZHMgQmRiQ29sdW1uT3B0aW9ucyB7XHJcbiAgaWNvbj86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmRiRGF0ZUNvbHVtbk9wdGlvbnMgZXh0ZW5kcyBCZGJDb2x1bW5PcHRpb25zIHtcclxuICBmb3JtYXQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmRiRW51bUNvbHVtbk9wdGlvbnMgZXh0ZW5kcyBCZGJDb2x1bW5PcHRpb25zIHtcclxuICBwaXBlPzogVHlwZTxQaXBlVHJhbnNmb3JtPjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCZGJOdW1iZXJDb2x1bW5PcHRpb25zIGV4dGVuZHMgQmRiQ29sdW1uT3B0aW9ucyB7XHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJkYlBlcmNlbnRhZ2VDb2x1bW5PcHRpb25zIGV4dGVuZHMgQmRiQ29sdW1uT3B0aW9ucyB7XHJcbiAgZGlnaXRzSW5mbz86IHN0cmluZztcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmRiQ3VycmVuY3lDb2x1bW5PcHRpb25zIGV4dGVuZHMgQmRiQ29sdW1uT3B0aW9ucyB7XHJcbiAgY3VycmVuY3lDb2RlPzogc3RyaW5nO1xyXG4gIGRpc3BsYXk/OiBzdHJpbmc7XHJcbiAgZGlnaXRzSW5mbz86IHN0cmluZztcclxuICBsb2NhbGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmRiU3RyaW5nQ29sdW1uT3B0aW9ucyBleHRlbmRzIEJkYkNvbHVtbk9wdGlvbnMge1xyXG4gIHBpcGU/OiBUeXBlPFBpcGVUcmFuc2Zvcm0+O1xyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var BdbColumnType;
|
|
2
|
+
(function (BdbColumnType) {
|
|
3
|
+
BdbColumnType["String"] = "String";
|
|
4
|
+
BdbColumnType["Number"] = "Number";
|
|
5
|
+
BdbColumnType["Percentage"] = "Percentage";
|
|
6
|
+
BdbColumnType["Currency"] = "Currency";
|
|
7
|
+
BdbColumnType["Date"] = "Date";
|
|
8
|
+
BdbColumnType["Boolean"] = "Boolean";
|
|
9
|
+
BdbColumnType["Enum"] = "Enum";
|
|
10
|
+
BdbColumnType["Custom"] = "Custom";
|
|
11
|
+
})(BdbColumnType || (BdbColumnType = {}));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWNvbHVtbi10eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9hcHBsaWNhdGlvbi9jb21tb24vdGFibGUvYmRiLWNvbHVtbi10eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBTixJQUFZLGFBU1g7QUFURCxXQUFZLGFBQWE7SUFDdkIsa0NBQWlCLENBQUE7SUFDakIsa0NBQWlCLENBQUE7SUFDakIsMENBQXlCLENBQUE7SUFDekIsc0NBQXFCLENBQUE7SUFDckIsOEJBQWEsQ0FBQTtJQUNiLG9DQUFtQixDQUFBO0lBQ25CLDhCQUFhLENBQUE7SUFDYixrQ0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBVFcsYUFBYSxLQUFiLGFBQWEsUUFTeEIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZW51bSBCZGJDb2x1bW5UeXBlIHtcclxuICBTdHJpbmcgPSAnU3RyaW5nJyxcclxuICBOdW1iZXIgPSAnTnVtYmVyJyxcclxuICBQZXJjZW50YWdlID0gJ1BlcmNlbnRhZ2UnLFxyXG4gIEN1cnJlbmN5ID0gJ0N1cnJlbmN5JyxcclxuICBEYXRlID0gJ0RhdGUnLFxyXG4gIEJvb2xlYW4gPSAnQm9vbGVhbicsXHJcbiAgRW51bSA9ICdFbnVtJyxcclxuICBDdXN0b20gPSAnQ3VzdG9tJyxcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWNvbHVtbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JhZGFib29tL3NyYy9saWIvYXBwbGljYXRpb24vY29tbW9uL3RhYmxlL2JkYi1jb2x1bW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGVUcmFuc2Zvcm0sIFRlbXBsYXRlUmVmLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJkYkNvbHVtblR5cGUgfSBmcm9tICcuL2JkYi1jb2x1bW4tdHlwZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJkYkNvbHVtbjxUUmVhZCwgVEZpZWxkPiB7XHJcbiAgdGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxuZXZlcj4gfCB1bmRlZmluZWQ7XHJcbiAgZmllbGQ6ICh4OiBUUmVhZCkgPT4gVEZpZWxkO1xyXG4gIHR5cGU6IEJkYkNvbHVtblR5cGU7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0aXRsZTogc3RyaW5nO1xyXG5cclxuICBzb3J0RGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIHRleHRBbGlnbj86ICdzdGFydCcgfCAnZW5kJztcclxuXHJcbiAgZm9ybWF0Pzogc3RyaW5nO1xyXG4gIGljb24/OiBib29sZWFuO1xyXG4gIHBpcGU/OiBUeXBlPFBpcGVUcmFuc2Zvcm0+O1xyXG5cclxuICBjdXJyZW5jeUNvZGU/OiBzdHJpbmc7XHJcbiAgZGlzcGxheT86IHN0cmluZztcclxuICBkaWdpdHNJbmZvPzogc3RyaW5nO1xyXG4gIGxvY2FsZT86IHN0cmluZztcclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmRiLWNvbnRleHQtYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFkYWJvb20vc3JjL2xpYi9hcHBsaWNhdGlvbi9jb21tb24vdGFibGUvYmRiLWNvbnRleHQtYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEJkYkNvbnRleHRBY3Rpb248VFJlYWQ+IHtcclxuICBpY29uOiBzdHJpbmc7XHJcbiAgY29sb3I6IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGlkZW50aWZpZXI6IHN0cmluZztcclxuICBjb25kaXRpb24/OiAoeDogVFJlYWQpID0+IGJvb2xlYW47XHJcbn1cclxuIl19
|