@mediusinc/mng-commons 4.1.0-rc.0 → 5.0.0-rc.0-c31d5206
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/assets/i18n/en.json +13 -66
- package/assets/i18n/sl.json +12 -67
- package/data-api/README.md +3 -0
- package/data-api/class-dto/README.md +3 -0
- package/data-api/class-dto/helpers/tableview-crud-create.d.ts +40 -0
- package/data-api/class-dto/index.d.ts +7 -0
- package/data-api/class-dto/models/query-result.model.d.ts +13 -0
- package/data-api/class-dto/obsolete/README.md +3 -0
- package/data-api/class-dto/obsolete/helpers/query-param-convert.d.ts +23 -0
- package/data-api/class-dto/obsolete/helpers/tableview-crud-create.d.ts +22 -0
- package/data-api/class-dto/obsolete/index.d.ts +14 -0
- package/data-api/class-dto/obsolete/models/builders/query-param.builder.d.ts +36 -0
- package/{lib/api → data-api/class-dto/obsolete}/models/filter-param.model.d.ts +1 -1
- package/{lib/api → data-api/class-dto/obsolete}/models/query-param.model.d.ts +1 -1
- package/{lib/api → data-api/class-dto/obsolete}/models/query-result.model.d.ts +1 -1
- package/data-api/class-dto/obsolete/provide.d.ts +9 -0
- package/data-api/class-dto/obsolete/services/api.abstract.service.d.ts +36 -0
- package/{lib/api → data-api/class-dto/obsolete}/services/crud-api.abstract.service.d.ts +20 -5
- package/data-api/class-dto/obsolete/services/get-all-api.abstract.service.d.ts +30 -0
- package/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.d.ts +28 -0
- package/data-api/class-dto/obsolete/utils/query-param-map.util.d.ts +22 -0
- package/{lib/api/utils/object-serializer.util.d.ts → data-api/class-dto/serder/object-serializer.d.ts} +1 -1
- package/{lib/api → data-api/class-dto}/services/api.abstract.service.d.ts +2 -4
- package/data-api/class-dto/services/crud-api.abstract.service.d.ts +25 -0
- package/data-api/class-dto/services/get-all-api.abstract.service.d.ts +14 -0
- package/data-api/class-dto/tableview/tableview-crud.data-provider.d.ts +17 -0
- package/data-api/helpers/get-all-params.d.ts +69 -0
- package/data-api/helpers/tableview-get-all-params-create.d.ts +14 -0
- package/data-api/index.d.ts +5 -0
- package/data-api/models/request-params.model.d.ts +61 -0
- package/data-api/rxjs/map-to-data-list.operator.d.ts +9 -0
- package/data-api/types/extract-get-all-params.type.d.ts +14 -0
- package/esm2022/data-api/class-dto/helpers/tableview-crud-create.mjs +40 -0
- package/esm2022/data-api/class-dto/index.mjs +13 -0
- package/esm2022/data-api/class-dto/mediusinc-mng-commons-data-api-class-dto.mjs +5 -0
- package/esm2022/data-api/class-dto/models/query-result.model.mjs +24 -0
- package/esm2022/data-api/class-dto/obsolete/helpers/query-param-convert.mjs +103 -0
- package/esm2022/data-api/class-dto/obsolete/helpers/tableview-crud-create.mjs +21 -0
- package/esm2022/data-api/class-dto/obsolete/index.mjs +21 -0
- package/esm2022/data-api/class-dto/obsolete/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +5 -0
- package/esm2022/data-api/class-dto/obsolete/models/builders/query-param.builder.mjs +83 -0
- package/esm2022/data-api/class-dto/obsolete/models/filter-match-type.model.mjs +27 -0
- package/esm2022/data-api/class-dto/obsolete/models/filter-param.model.mjs +33 -0
- package/esm2022/data-api/class-dto/obsolete/models/query-mode.model.mjs +18 -0
- package/esm2022/data-api/class-dto/obsolete/models/query-param.model.mjs +68 -0
- package/esm2022/data-api/class-dto/obsolete/models/query-result.model.mjs +24 -0
- package/esm2022/data-api/class-dto/obsolete/provide.mjs +40 -0
- package/esm2022/data-api/class-dto/obsolete/services/api.abstract.service.mjs +70 -0
- package/esm2022/data-api/class-dto/obsolete/services/crud-api.abstract.service.mjs +83 -0
- package/esm2022/data-api/class-dto/obsolete/services/get-all-api.abstract.service.mjs +38 -0
- package/esm2022/data-api/class-dto/obsolete/tableview/tableview-crud.data-provider.mjs +51 -0
- package/esm2022/data-api/class-dto/obsolete/utils/query-param-map.util.mjs +57 -0
- package/esm2022/data-api/class-dto/serder/object-serializer.mjs +184 -0
- package/esm2022/data-api/class-dto/services/api.abstract.service.mjs +55 -0
- package/esm2022/data-api/class-dto/services/crud-api.abstract.service.mjs +82 -0
- package/esm2022/data-api/class-dto/services/get-all-api.abstract.service.mjs +49 -0
- package/esm2022/data-api/class-dto/tableview/tableview-crud.data-provider.mjs +49 -0
- package/esm2022/data-api/helpers/get-all-params.mjs +180 -0
- package/esm2022/data-api/helpers/tableview-get-all-params-create.mjs +18 -0
- package/esm2022/data-api/index.mjs +10 -0
- package/esm2022/data-api/mediusinc-mng-commons-data-api.mjs +5 -0
- package/esm2022/data-api/models/request-params.model.mjs +2 -0
- package/esm2022/data-api/rxjs/map-to-data-list.operator.mjs +19 -0
- package/esm2022/data-api/types/extract-get-all-params.type.mjs +2 -0
- package/esm2022/index.mjs +3 -6
- package/esm2022/lib/components/action/action.component.mjs +4 -5
- package/esm2022/lib/components/action/editor/injector-context/action-editor-injector-context.component.mjs +2 -2
- package/esm2022/lib/components/action/models/action-execution.model.mjs +5 -4
- package/esm2022/lib/components/action/route/action-route.component.mjs +1 -2
- package/esm2022/lib/components/action/table/action-table.component.mjs +4 -6
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +29 -17
- package/esm2022/lib/components/form/dropdown/dropdown.component.mjs +3 -7
- package/esm2022/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.mjs +20 -18
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-form/formly-field-table-dialog-form.component.mjs +2 -2
- package/esm2022/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.mjs +23 -12
- package/esm2022/lib/components/table/column-filter-full/column-filter-full.component.mjs +162 -33
- package/esm2022/lib/components/table/column-value/column-value.component.mjs +3 -3
- package/esm2022/lib/components/table/models/table.event.mjs +1 -1
- package/esm2022/lib/components/table/models/table.interface.mjs +1 -1
- package/esm2022/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.mjs +4 -4
- package/esm2022/lib/components/table/table.component.mjs +117 -191
- package/esm2022/lib/components/tableview/actions/tableview-default-actions.mjs +215 -0
- package/esm2022/lib/components/tableview/builders/tableview-builder.mjs +162 -0
- package/esm2022/lib/components/tableview/helpers/tableview-create.mjs +24 -0
- package/esm2022/lib/components/tableview/index.mjs +5 -2
- package/esm2022/lib/components/tableview/models/tableview.model.mjs +2 -0
- package/esm2022/lib/components/tableview/route/tableview-route.component.mjs +7 -39
- package/esm2022/lib/components/tableview/tableview.component.mjs +4 -4
- package/esm2022/lib/data-providers/editor.data-provider.mjs +13 -13
- package/esm2022/lib/data-providers/index.mjs +1 -2
- package/esm2022/lib/data-providers/lookup.data-provider.mjs +1 -1
- package/esm2022/lib/data-providers/table.data-provider.mjs +4 -5
- package/esm2022/lib/data-providers/tableview.data-provider.mjs +1 -1
- package/esm2022/lib/descriptors/action/action-confirmation.descriptor.mjs +1 -1
- package/esm2022/lib/descriptors/action/action-editor.descriptor.mjs +10 -6
- package/esm2022/lib/descriptors/action/action.descriptor.mjs +2 -3
- package/esm2022/lib/descriptors/editor/editor.descriptor.mjs +13 -17
- package/esm2022/lib/descriptors/editor/field-lookup.descriptor.mjs +12 -17
- package/esm2022/lib/descriptors/editor/field.descriptor.mjs +5 -8
- package/esm2022/lib/descriptors/editor/internal/editor-fields.model.mjs +1 -1
- package/esm2022/lib/descriptors/filter/filter-lookup.descriptor.mjs +28 -52
- package/esm2022/lib/descriptors/filter/filter.descriptor.mjs +40 -23
- package/esm2022/lib/descriptors/model/enum.descriptor.mjs +31 -0
- package/esm2022/lib/descriptors/model/index.mjs +3 -1
- package/esm2022/lib/descriptors/model/model.descriptor.mjs +10 -1
- package/esm2022/lib/descriptors/model/type.descriptor.mjs +11 -0
- package/esm2022/lib/descriptors/table/column.descriptor.mjs +12 -107
- package/esm2022/lib/descriptors/table/index.mjs +2 -1
- package/esm2022/lib/descriptors/table/internal/table-columns.model.mjs +1 -1
- package/esm2022/lib/descriptors/table/internal/table.model.mjs +1 -1
- package/esm2022/lib/descriptors/table/sort.descriptor.mjs +45 -0
- package/esm2022/lib/descriptors/table/table.descriptor.mjs +208 -57
- package/esm2022/lib/descriptors/tableview/internal/tableview.model.mjs +1 -1
- package/esm2022/lib/descriptors/tableview/tableview.descriptor.mjs +114 -17
- package/esm2022/lib/descriptors/types/filter.type.mjs +1 -19
- package/esm2022/lib/descriptors/types/table.type.mjs +1 -5
- package/esm2022/lib/error/error.handler.mjs +1 -1
- package/esm2022/lib/helpers/data-provider-executors.mjs +80 -0
- package/esm2022/lib/models/data-list.model.mjs +2 -0
- package/esm2022/lib/models/filter-match.model.mjs +105 -0
- package/esm2022/lib/models/index.mjs +3 -1
- package/esm2022/lib/models/view-container.model.mjs +1 -1
- package/esm2022/lib/pipes/enum.pipe.mjs +6 -6
- package/esm2022/lib/provide.mjs +101 -0
- package/esm2022/lib/registry/type.registry.mjs +3 -10
- package/esm2022/lib/router/models/router.model.mjs +1 -1
- package/esm2022/lib/router/tableview-route-builder.mjs +1 -1
- package/esm2022/lib/services/action/action-executor.service.mjs +54 -32
- package/esm2022/lib/services/commons.service.mjs +1 -37
- package/esm2022/lib/services/data-provider-executor.service.mjs +52 -0
- package/esm2022/lib/services/index.mjs +2 -1
- package/esm2022/lib/services/view/view-container.service.mjs +1 -1
- package/esm2022/lib/types/action-descriptor.types.mjs +1 -1
- package/esm2022/lib/types/type.model.mjs +1 -1
- package/esm2022/lib/utils/data-list-params.util.mjs +416 -0
- package/esm2022/lib/utils/date.util.mjs +8 -2
- package/esm2022/lib/utils/enum.util.mjs +2 -1
- package/esm2022/lib/utils/error.util.mjs +3 -3
- package/esm2022/lib/utils/export.util.mjs +1 -1
- package/esm2022/lib/utils/index.mjs +2 -2
- package/esm2022/lib/utils/route.util.mjs +1 -2
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs +698 -0
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs +480 -0
- package/fesm2022/mediusinc-mng-commons-data-api-class-dto.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-data-api.mjs +224 -0
- package/fesm2022/mediusinc-mng-commons-data-api.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons.mjs +2634 -2549
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/index.d.ts +2 -4
- package/lib/components/action/action.component.d.ts +13 -13
- package/lib/components/action/models/action-execution.model.d.ts +47 -46
- package/lib/components/action/table/action-table.component.d.ts +15 -16
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +1 -1
- package/lib/components/form/formly/fields/formly-field-lookup-dialog/formly-field-lookup-dialog.component.d.ts +3 -5
- package/lib/components/form/formly/fields/formly-field-table-dialog-multiselect/formly-field-table-dialog-multiselect.component.d.ts +10 -10
- package/lib/components/table/column-filter-full/column-filter-full.component.d.ts +25 -9
- package/lib/components/table/models/table.event.d.ts +2 -2
- package/lib/components/table/models/table.interface.d.ts +4 -1
- package/lib/components/table/table-column-filter-class/table-column-filter-class.pipe.d.ts +2 -2
- package/lib/components/table/table.component.d.ts +19 -18
- package/lib/components/tableview/actions/tableview-default-actions.d.ts +36 -0
- package/lib/components/tableview/builders/tableview-builder.d.ts +115 -0
- package/lib/components/tableview/helpers/tableview-create.d.ts +16 -0
- package/lib/components/tableview/index.d.ts +4 -1
- package/lib/components/tableview/models/tableview.model.d.ts +8 -0
- package/lib/components/tableview/route/tableview-route.component.d.ts +5 -14
- package/lib/components/tableview/tableview.component.d.ts +12 -12
- package/lib/data-providers/editor.data-provider.d.ts +12 -12
- package/lib/data-providers/index.d.ts +0 -1
- package/lib/data-providers/lookup.data-provider.d.ts +2 -2
- package/lib/data-providers/table.data-provider.d.ts +25 -25
- package/lib/data-providers/tableview.data-provider.d.ts +18 -18
- package/lib/descriptors/action/action-confirmation.descriptor.d.ts +1 -1
- package/lib/descriptors/action/action-editor.descriptor.d.ts +20 -17
- package/lib/descriptors/editor/editor.descriptor.d.ts +8 -12
- package/lib/descriptors/editor/field-base.descriptor.d.ts +3 -3
- package/lib/descriptors/editor/field-lookup.descriptor.d.ts +11 -11
- package/lib/descriptors/editor/field-many.descriptor.d.ts +4 -4
- package/lib/descriptors/editor/field.descriptor.d.ts +2 -2
- package/lib/descriptors/editor/internal/editor-fields.model.d.ts +6 -5
- package/lib/descriptors/filter/filter-lookup.descriptor.d.ts +15 -14
- package/lib/descriptors/filter/filter.descriptor.d.ts +17 -18
- package/lib/descriptors/model/enum.descriptor.d.ts +14 -0
- package/lib/descriptors/model/index.d.ts +2 -0
- package/lib/descriptors/model/model.descriptor.d.ts +9 -0
- package/lib/descriptors/model/type.descriptor.d.ts +5 -0
- package/lib/descriptors/table/column.descriptor.d.ts +10 -24
- package/lib/descriptors/table/index.d.ts +1 -0
- package/lib/descriptors/table/internal/table-columns.model.d.ts +36 -5
- package/lib/descriptors/table/internal/table.model.d.ts +5 -2
- package/lib/descriptors/table/sort.descriptor.d.ts +17 -0
- package/lib/descriptors/table/table.descriptor.d.ts +57 -33
- package/lib/descriptors/tableview/internal/tableview.model.d.ts +3 -3
- package/lib/descriptors/tableview/tableview.descriptor.d.ts +49 -19
- package/lib/descriptors/types/filter.type.d.ts +0 -17
- package/lib/descriptors/types/table.type.d.ts +0 -3
- package/lib/error/error.handler.d.ts +1 -1
- package/lib/helpers/data-provider-executors.d.ts +19 -0
- package/lib/models/data-list.model.d.ts +27 -0
- package/lib/models/filter-match.model.d.ts +36 -0
- package/lib/models/index.d.ts +2 -0
- package/lib/models/view-container.model.d.ts +2 -2
- package/lib/pipes/enum.pipe.d.ts +2 -2
- package/lib/provide.d.ts +10 -0
- package/lib/router/models/router.model.d.ts +1 -1
- package/lib/router/tableview-route-builder.d.ts +1 -2
- package/lib/services/action/action-executor.service.d.ts +18 -16
- package/lib/services/data-provider-executor.service.d.ts +60 -0
- package/lib/services/index.d.ts +1 -0
- package/lib/services/view/view-container.service.d.ts +11 -11
- package/lib/types/action-descriptor.types.d.ts +2 -2
- package/lib/types/type.model.d.ts +1 -3
- package/lib/utils/data-list-params.util.d.ts +84 -0
- package/lib/utils/date.util.d.ts +3 -1
- package/lib/utils/enum.util.d.ts +4 -3
- package/lib/utils/export.util.d.ts +1 -1
- package/lib/utils/index.d.ts +1 -1
- package/openapi/angular/modelEnum.mustache +0 -3
- package/package.json +20 -2
- package/esm2022/lib/api/models/builders/query-param.builder.mjs +0 -59
- package/esm2022/lib/api/models/filter-match-type.model.mjs +0 -27
- package/esm2022/lib/api/models/filter-param.model.mjs +0 -33
- package/esm2022/lib/api/models/index.mjs +0 -7
- package/esm2022/lib/api/models/query-mode.model.mjs +0 -18
- package/esm2022/lib/api/models/query-param.model.mjs +0 -68
- package/esm2022/lib/api/models/query-result.model.mjs +0 -35
- package/esm2022/lib/api/services/api.abstract.service.mjs +0 -58
- package/esm2022/lib/api/services/crud-api.abstract.service.mjs +0 -75
- package/esm2022/lib/api/services/get-all-api.abstract.service.mjs +0 -30
- package/esm2022/lib/api/services/index.mjs +0 -4
- package/esm2022/lib/api/utils/index.mjs +0 -3
- package/esm2022/lib/api/utils/medius-rest.util.mjs +0 -293
- package/esm2022/lib/api/utils/object-serializer.util.mjs +0 -185
- package/esm2022/lib/components/tableview/route/tableview-route.abstract.component.mjs +0 -158
- package/esm2022/lib/data-providers/tableview-crud.data-provider.mjs +0 -32
- package/esm2022/lib/provide-commons.mjs +0 -88
- package/esm2022/lib/utils/action-data-provider.util.mjs +0 -171
- package/lib/api/models/builders/query-param.builder.d.ts +0 -13
- package/lib/api/models/index.d.ts +0 -6
- package/lib/api/services/get-all-api.abstract.service.d.ts +0 -14
- package/lib/api/services/index.d.ts +0 -3
- package/lib/api/utils/index.d.ts +0 -2
- package/lib/api/utils/medius-rest.util.d.ts +0 -32
- package/lib/components/tableview/route/tableview-route.abstract.component.d.ts +0 -35
- package/lib/data-providers/tableview-crud.data-provider.d.ts +0 -12
- package/lib/provide-commons.d.ts +0 -3
- package/lib/utils/action-data-provider.util.d.ts +0 -35
- package/templates/tableview-route.component.html +0 -5
- /package/{lib/api → data-api/class-dto/obsolete}/models/filter-match-type.model.d.ts +0 -0
- /package/{lib/api → data-api/class-dto/obsolete}/models/query-mode.model.d.ts +0 -0
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { HttpParams } from '@angular/common/http';
|
|
2
|
+
import { Observable } from 'rxjs';
|
|
3
|
+
import { ClassType, DataListParams } from '@mediusinc/mng-commons';
|
|
4
|
+
import { QueryResult } from '../models/query-result.model';
|
|
5
|
+
import { AMngApiService } from './api.abstract.service';
|
|
6
|
+
export interface IMngGetAllApiService<QRT extends QueryResult<any>> {
|
|
7
|
+
getAllGet(requestParams?: DataListParams<any, any>, params?: HttpParams, locale?: string): Observable<QRT>;
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class AMngGetAllApiService<FetchType, QueryResultType extends QueryResult<any>> extends AMngApiService<FetchType> implements IMngGetAllApiService<QueryResultType> {
|
|
10
|
+
protected queryResultType: ClassType<QueryResultType>;
|
|
11
|
+
protected constructor(fetchType: ClassType<FetchType>, queryResultType: ClassType<QueryResultType>);
|
|
12
|
+
getAllGet(requestParams?: DataListParams, params?: HttpParams, locale?: string): Observable<QueryResultType>;
|
|
13
|
+
protected getGetAllGetPath(): string;
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Type } from '@angular/core';
|
|
2
|
+
import { ClassType, ServiceClassType, TableviewDataProviderInst } from '@mediusinc/mng-commons';
|
|
3
|
+
import { QueryResult } from '../models/query-result.model';
|
|
4
|
+
import { IMngCrudApiService } from '../services/crud-api.abstract.service';
|
|
5
|
+
import { IMngGetAllApiService } from '../services/get-all-api.abstract.service';
|
|
6
|
+
export type ToRequestMapFnType<Model, RequestModel> = (item?: Model) => RequestModel;
|
|
7
|
+
export declare class TableviewCrudDataProviderInst<Model, RequestModel, Service extends IMngCrudApiService<Model, RequestModel> & IMngGetAllApiService<QueryResult<Model>>, Sorts = keyof Model, Filters extends keyof any = keyof Model> extends TableviewDataProviderInst<Model, Service, Sorts, Filters, ClassType<Model>, ServiceClassType<Service>> {
|
|
8
|
+
protected requestType: ClassType<RequestModel>;
|
|
9
|
+
private _toRequestMap;
|
|
10
|
+
protected constructor(type: ClassType<Model>, requestType: ClassType<RequestModel>, serviceType: Type<Service>, idPropertyName?: string, useGetAllForFetch?: boolean);
|
|
11
|
+
get toRequestMap(): ToRequestMapFnType<Model, RequestModel>;
|
|
12
|
+
withToRequestMap(fn: ToRequestMapFnType<Model, RequestModel>): this;
|
|
13
|
+
}
|
|
14
|
+
export declare class TableviewCrudDataProvider extends TableviewCrudDataProviderInst<any, any, any> {
|
|
15
|
+
static create<Model, RequestModel, Service extends IMngCrudApiService<Model, RequestModel> & IMngGetAllApiService<QueryResult<Model>>, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>, requestType: ClassType<RequestModel>, serviceType: Type<Service>, idProperty?: keyof Model, useGetAllForFetch?: boolean): TableviewCrudDataProviderInst<Model, RequestModel, Service, Sorts, Filters>;
|
|
16
|
+
static createUnsafe<Model, RequestModel, Service extends IMngCrudApiService<Model, RequestModel> & IMngGetAllApiService<QueryResult<Model>>, Sorts = keyof Model, Filters extends keyof any = keyof Model>(type: ClassType<Model>, requestType: ClassType<RequestModel>, serviceType: Type<Service>, idProperty?: string, useGetAllForFetch?: boolean): TableviewCrudDataProviderInst<Model, RequestModel, Service, Sorts, Filters>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Observable } from 'rxjs';
|
|
2
|
+
import { DataListFilter, DataListParams, DataListResult } from '@mediusinc/mng-commons';
|
|
3
|
+
import { GetAllParamsFilterMatchType, GetAllParamsType, GetAllParamsUrlQueryType } from '../models/request-params.model';
|
|
4
|
+
/**
|
|
5
|
+
* Converts a filter match mode to its corresponding enum value.
|
|
6
|
+
*
|
|
7
|
+
* @param {string} matchMode - The filter match mode from data list filter to convert.
|
|
8
|
+
* @returns {GetAllParamsFilterMatchType} - The converted enum value.
|
|
9
|
+
* @throws {MngInternalError} - If the filter match mode is not supported.
|
|
10
|
+
*/
|
|
11
|
+
export declare function toGetAllParamsFilterMatchMode(matchMode: string): GetAllParamsFilterMatchType;
|
|
12
|
+
/**
|
|
13
|
+
* Converts given parameters of a DataListParams object into a get all request param object with values as URL query string representation.
|
|
14
|
+
*
|
|
15
|
+
* @param {DataListParams} params - The parameters to convert.
|
|
16
|
+
* @typeparam Sorts - The type of the sorting options for the data list.
|
|
17
|
+
* @typeparam Filters - The type of the filters for the data list.
|
|
18
|
+
* @returns {GetAllParamsUrlQueryType<Filters>} - Get all request param object with values as URL query string representation.
|
|
19
|
+
*/
|
|
20
|
+
export declare function toGetAllParamsAsUrlQuery<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsUrlQueryType<Filters>;
|
|
21
|
+
/**
|
|
22
|
+
* Converts given parameters of a DataListParams object into a get all request param object with values as objects for POST requests.
|
|
23
|
+
*
|
|
24
|
+
* @param {DataListParams} params - The parameters to convert.
|
|
25
|
+
* @typeparam Sorts - The type of the sorting options for the data list.
|
|
26
|
+
* @typeparam Filters - The type of the filters for the data list.
|
|
27
|
+
* @returns {GetAllParamsType<Sorts, Filters>} - Get all request param object with values as objects for POST requests.
|
|
28
|
+
*/
|
|
29
|
+
export declare function toGetAllParams<Sorts, Filters extends keyof any>(params: DataListParams<Sorts, Filters>): GetAllParamsType<Sorts, Filters>;
|
|
30
|
+
/**
|
|
31
|
+
* Converts DataListParams to sort query URL representation.
|
|
32
|
+
*
|
|
33
|
+
* @param {DataListParams} params - The params object with sort property to convert.
|
|
34
|
+
* @returns {string | undefined} - The formatted sort query URL param or undefined.
|
|
35
|
+
*/
|
|
36
|
+
export declare function toGetAllSortAsQueryUrl(params?: DataListParams<any, any>): string | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Converts a DataListFilter object to a query URL string.
|
|
39
|
+
*
|
|
40
|
+
* @param {DataListFilter} filter - The filter object from params to convert.
|
|
41
|
+
* @returns {string|undefined} - The formatted filter query URL param or undefined.
|
|
42
|
+
*/
|
|
43
|
+
export declare function toGetAllFilterAsQueryUrl(filter?: DataListFilter): string | undefined;
|
|
44
|
+
/**
|
|
45
|
+
* Executes the "getAll" on API service with request parameters.
|
|
46
|
+
* Get all is expected to be executed via GET method using params as URL queries.
|
|
47
|
+
*
|
|
48
|
+
* @param {Service} service - The API service instance.
|
|
49
|
+
* @param {Function} getAllFn - The "getAll" function on provided service instance.
|
|
50
|
+
* @param {Object} params - The data list params.
|
|
51
|
+
* @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
|
|
52
|
+
*/
|
|
53
|
+
export declare function executeGetAll<Service, Item, Sorts, Filters extends keyof any>(service: Service, getAllFn: (requestParameters: GetAllParamsUrlQueryType<Filters>) => Observable<{
|
|
54
|
+
data?: Item[];
|
|
55
|
+
totalCount?: number;
|
|
56
|
+
}>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
|
|
57
|
+
/**
|
|
58
|
+
* Executes the "getAll" on API service with request parameters.
|
|
59
|
+
* Get all is expected to be executed via POST method using params as object in body of request.
|
|
60
|
+
*
|
|
61
|
+
* @param {Service} service - The API service instance.
|
|
62
|
+
* @param {Function} getAllFn - The "getAll" function on provided service instance.
|
|
63
|
+
* @param {Object} params - The data list params.
|
|
64
|
+
* @returns {Observable<<DataListResult<Item>>>} An observable with data list result.
|
|
65
|
+
*/
|
|
66
|
+
export declare function executeGetAllAsPost<Service, Item, Sorts, Filters extends keyof any>(service: Service, getAllFn: (requestParameters: GetAllParamsType<Sorts, Filters>) => Observable<{
|
|
67
|
+
data?: Item[];
|
|
68
|
+
totalCount?: number;
|
|
69
|
+
}>, params: DataListParams<Sorts, Filters>): Observable<DataListResult<Item>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelDescriptor, ServiceClassType, TableviewBuilder, TableviewDataProviderInst, TableviewDescriptorInst, TypeDescriptor } from '@mediusinc/mng-commons';
|
|
2
|
+
import { GetAllParamsDefaultWoFiltersType } from '../models/request-params.model';
|
|
3
|
+
import { ExtractGetAllParamsFilterType, ExtractGetAllParamsSortType } from '../types/extract-get-all-params.type';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a tableview with a given model, service and sorts and filters extracted from Data API Get All request params, service, and optional build function.
|
|
6
|
+
*
|
|
7
|
+
* @param {ModelDescriptor<Model>} model - The model descriptor.
|
|
8
|
+
* @param {ServiceClassType<Service>} service - The class type of the service.
|
|
9
|
+
* @param {TypeDescriptor<RequestParam>} params - The request param of get all request. Filters and sorts will be taken from here.
|
|
10
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
11
|
+
*
|
|
12
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
13
|
+
*/
|
|
14
|
+
export declare function tableviewWithGetAllParams<Model, Service, RequestParam extends GetAllParamsDefaultWoFiltersType, Sorts = ExtractGetAllParamsSortType<RequestParam>, Filters extends keyof any = ExtractGetAllParamsFilterType<RequestParam>>(model: ModelDescriptor<Model>, service: ServiceClassType<Service>, params: TypeDescriptor<RequestParam>, buildFn?: (builder: TableviewBuilder<Model, Service, TableviewDescriptorInst<Model, Sorts, Filters>, TableviewDataProviderInst<Model, Service, Sorts, Filters>, Sorts, Filters>) => void): import("@mediusinc/mng-commons").ITableview<Model, Service, Sorts, Filters, TableviewDescriptorInst<Model, Sorts, Filters>, TableviewDataProviderInst<Model, Service, Sorts, Filters, import("@mediusinc/mng-commons").ClassOptType<Model>, import("@mediusinc/mng-commons").ServiceClassOptType<Service>>>;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default (expected) type without filters, which are "dynamic" keys.
|
|
3
|
+
*/
|
|
4
|
+
export type GetAllParamsDefaultWoFiltersType<Sort = GetAllParamsSortType[] | string, GlobalFilter = GetAllParamsGlobalFilterType | string> = {
|
|
5
|
+
offset?: number;
|
|
6
|
+
limit?: number;
|
|
7
|
+
globalFilter?: GlobalFilter;
|
|
8
|
+
sort?: Sort;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Represents the sort direction type for a get all request params (ascending or descending).
|
|
12
|
+
*/
|
|
13
|
+
export type GetAllParamsSortDirectionType = 'ASCENDING' | 'DESCENDING';
|
|
14
|
+
/**
|
|
15
|
+
* Represents the sort type for a get all request params.
|
|
16
|
+
*
|
|
17
|
+
* @typeparam Property The type of the property to sort by.
|
|
18
|
+
* @typeparam Direction The type of the sort direction.
|
|
19
|
+
*/
|
|
20
|
+
export type GetAllParamsSortType<Property = string, Direction = GetAllParamsSortDirectionType> = {
|
|
21
|
+
property: Property;
|
|
22
|
+
direction: Direction;
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Represents the possible match types for filters in get all request params.
|
|
26
|
+
*/
|
|
27
|
+
export type GetAllParamsFilterMatchType = 'EQUALS' | 'NOT_EQUALS' | 'BETWEEN' | 'CONTAINS' | 'NOT_CONTAINS' | 'STARTS_WITH' | 'ENDS_WITH' | 'IN' | 'NOT_IN' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL_TO' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL_TO' | 'EXISTS' | 'DOES_NOT_EXIST';
|
|
28
|
+
/**
|
|
29
|
+
* Describes the possible case sensitivity for filter in get all request params.
|
|
30
|
+
*/
|
|
31
|
+
export type GetAllParamsFilterCaseSensitivityType = 'CASE_SENSITIVE' | 'CASE_INSENSITIVE';
|
|
32
|
+
/**
|
|
33
|
+
* Describes the global filter (search) in get all request params.
|
|
34
|
+
*/
|
|
35
|
+
export type GetAllParamsGlobalFilterType<CaseSensitivity = GetAllParamsFilterCaseSensitivityType> = {
|
|
36
|
+
value: string;
|
|
37
|
+
caseSensitivity?: CaseSensitivity;
|
|
38
|
+
};
|
|
39
|
+
/**
|
|
40
|
+
* Describes the filters in get all request params.
|
|
41
|
+
*/
|
|
42
|
+
export type GetAllParamsFiltersType<FilterType, FilterProperties extends keyof any> = {
|
|
43
|
+
[P in FilterProperties]: FilterType;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Represents a filter type for get all request params.
|
|
47
|
+
*/
|
|
48
|
+
export type GetAllParamsFilterType<Value, CaseSensitivity = GetAllParamsFilterCaseSensitivityType, MatchType = GetAllParamsFilterMatchType> = {
|
|
49
|
+
value?: Value;
|
|
50
|
+
values?: Array<Value>;
|
|
51
|
+
caseSensitivity?: CaseSensitivity;
|
|
52
|
+
filterMatchType: MatchType;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Describes get all params with values as objects (for POST requests).
|
|
56
|
+
*/
|
|
57
|
+
export type GetAllParamsType<Sorts = string, Filters extends keyof any = string> = GetAllParamsDefaultWoFiltersType<GetAllParamsSortType<Sorts>[], GetAllParamsGlobalFilterType> & GetAllParamsFiltersType<GetAllParamsFilterType<any>, Filters>;
|
|
58
|
+
/**
|
|
59
|
+
* Describes get all params with values as URL queries (for GET requests).
|
|
60
|
+
*/
|
|
61
|
+
export type GetAllParamsUrlQueryType<Filters extends keyof any> = GetAllParamsDefaultWoFiltersType<string, string> & GetAllParamsFiltersType<string, Filters>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { OperatorFunction } from 'rxjs';
|
|
2
|
+
import { DataListResult } from '@mediusinc/mng-commons';
|
|
3
|
+
/**
|
|
4
|
+
* Maps an Observable of data with optional totalCount and data to a data list result object with provided defaults of empty array and count 0.
|
|
5
|
+
*/
|
|
6
|
+
export declare function mapToDataList<Item>(): OperatorFunction<{
|
|
7
|
+
data?: Item[];
|
|
8
|
+
totalCount?: number;
|
|
9
|
+
}, DataListResult<Item>>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { GetAllParamsDefaultWoFiltersType, GetAllParamsSortType } from '../models/request-params.model';
|
|
2
|
+
/**
|
|
3
|
+
* Represents the type definition for the `GetAllParamsDefaultWoFiltersType` class - excludes offset, limit, search and sort properties.
|
|
4
|
+
* All other properties are expected to be filters.
|
|
5
|
+
*
|
|
6
|
+
* @typeparam Request - The type parameter representing the extended GetAllParamsDefaultWoFiltersType object.
|
|
7
|
+
*/
|
|
8
|
+
export type ExtractGetAllParamsFilterType<Request extends GetAllParamsDefaultWoFiltersType> = keyof Omit<Request, 'offset' | 'limit' | 'globalFilter' | 'sort'>;
|
|
9
|
+
/**
|
|
10
|
+
* Represents the type definition for the `GetAllParamsDefaultWoFiltersType` class - extracts allowed sort properties (usually an enum) on property key within array type.
|
|
11
|
+
*
|
|
12
|
+
* @typeparam Request - The type parameter representing the extended GetAllParamsDefaultWoFiltersType object.
|
|
13
|
+
*/
|
|
14
|
+
export type ExtractGetAllParamsSortType<Request extends GetAllParamsDefaultWoFiltersType<GetAllParamsSortType<any, any>[] | string, any>> = NonNullable<Request['sort']> extends Array<infer U> | string ? ('property' extends keyof U ? NonNullable<U['property']> : never) : never;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { Injector, inject } from '@angular/core';
|
|
2
|
+
import { TableviewBuilder, TableviewDescriptor } from '@mediusinc/mng-commons';
|
|
3
|
+
import { TableviewCrudDataProvider } from '../tableview/tableview-crud.data-provider';
|
|
4
|
+
function prepareBuilder(type, requestType, service, modelConfig, buildFn) {
|
|
5
|
+
const builder = new TableviewBuilder(TableviewDescriptor.fromClass(type, modelConfig?.idProperty, modelConfig?.titleProperty, modelConfig?.i18nBaseKey), TableviewCrudDataProvider.create(type, requestType, service, modelConfig?.idProperty), inject(Injector));
|
|
6
|
+
buildFn?.(builder);
|
|
7
|
+
return builder.build();
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates a tableview with the given class, request class, service based on data API v2, sort, filters and optional class/model configuration.
|
|
11
|
+
* Sorts and filters are expected to be keys of class.
|
|
12
|
+
*
|
|
13
|
+
* @param {ClassType<Model>} type - The class representing the model.
|
|
14
|
+
* @param {ClassType<RequestModel>} requestType - The class representing the model for create and update operations.
|
|
15
|
+
* @param {ServiceClassType<Service>} service - The class type of the service implementing `IMngCrudApiService` and `IMngGetAllApiService`.
|
|
16
|
+
* @param {{ idProperty?: keyof Model; titleProperty?: keyof Model; i18nBaseKey?: ClassType<any> | string; }} [modelConfig] - Additional optional model configuration.
|
|
17
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
18
|
+
*
|
|
19
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
20
|
+
*/
|
|
21
|
+
export function tableviewCrud(type, requestType, service, modelConfig, buildFn) {
|
|
22
|
+
return prepareBuilder(type, requestType, service, modelConfig, buildFn);
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Creates a tableview with the given class, request class, service based on data API v2, sort, filters and optional class/model configuration.
|
|
26
|
+
*
|
|
27
|
+
* @param {ClassType<Model>} type - The class representing the model.
|
|
28
|
+
* @param {ClassType<RequestModel>} requestType - The class representing the model for create and update operations.
|
|
29
|
+
* @param {ServiceClassType<Service>} service - The class type of the service implementing `IMngCrudApiService` and `IMngGetAllApiService`.
|
|
30
|
+
* @param {TypeDescriptor<Sorts>} sorts - The available sort keys of get all request.
|
|
31
|
+
* @param {TypeDescriptor<Filters>} filters - The available filter keys of get all request.
|
|
32
|
+
* @param {{ idProperty?: keyof Model; titleProperty?: keyof Model; i18nBaseKey?: ClassType<any> | string; }} [modelConfig] - Additional optional model configuration.
|
|
33
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
34
|
+
*
|
|
35
|
+
* @returns A tableview instance with descriptor, data provider and actions.
|
|
36
|
+
*/
|
|
37
|
+
export function tableviewCrudWithSortAndFilter(type, requestType, service, sorts, filters, modelConfig, buildFn) {
|
|
38
|
+
return prepareBuilder(type, requestType, service, modelConfig, buildFn);
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWNydWQtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGF0YS1hcGkvY2xhc3MtZHRvL3NyYy9oZWxwZXJzL3RhYmxldmlldy1jcnVkLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQThCLGdCQUFnQixFQUFFLG1CQUFtQixFQUEwQyxNQUFNLHdCQUF3QixDQUFDO0FBS25KLE9BQU8sRUFBQyx5QkFBeUIsRUFBZ0MsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuSCxTQUFTLGNBQWMsQ0FDbkIsSUFBc0IsRUFDdEIsV0FBb0MsRUFDcEMsT0FBa0MsRUFDbEMsV0FJQyxFQUNELE9BU1M7SUFFVCxNQUFNLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQVFoQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQ2xILHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxDQUFDLEVBQ3JGLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FDbkIsQ0FBQztJQUNGLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ25CLE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzNCLENBQUM7QUFFRDs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSxhQUFhLENBT3pCLElBQXNCLEVBQ3RCLFdBQW9DLEVBQ3BDLE9BQWtDLEVBQ2xDLFdBSUMsRUFDRCxPQVNTO0lBRVQsT0FBTyxjQUFjLENBQStDLElBQUksRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUMxSCxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7OztHQVlHO0FBQ0gsTUFBTSxVQUFVLDhCQUE4QixDQU8xQyxJQUFzQixFQUN0QixXQUFvQyxFQUNwQyxPQUFrQyxFQUNsQyxLQUE0QixFQUM1QixPQUFnQyxFQUNoQyxXQUlDLEVBQ0QsT0FTUztJQUVULE9BQU8sY0FBYyxDQUErQyxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDMUgsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q2xhc3NUeXBlLCBTZXJ2aWNlQ2xhc3NUeXBlLCBUYWJsZXZpZXdCdWlsZGVyLCBUYWJsZXZpZXdEZXNjcmlwdG9yLCBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdCwgVHlwZURlc2NyaXB0b3J9IGZyb20gJ0BtZWRpdXNpbmMvbW5nLWNvbW1vbnMnO1xuXG5pbXBvcnQge1F1ZXJ5UmVzdWx0fSBmcm9tICcuLi9tb2RlbHMvcXVlcnktcmVzdWx0Lm1vZGVsJztcbmltcG9ydCB7SU1uZ0NydWRBcGlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9jcnVkLWFwaS5hYnN0cmFjdC5zZXJ2aWNlJztcbmltcG9ydCB7SU1uZ0dldEFsbEFwaVNlcnZpY2V9IGZyb20gJy4uL3NlcnZpY2VzL2dldC1hbGwtYXBpLmFic3RyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHtUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVyLCBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnLi4vdGFibGV2aWV3L3RhYmxldmlldy1jcnVkLmRhdGEtcHJvdmlkZXInO1xuXG5mdW5jdGlvbiBwcmVwYXJlQnVpbGRlcjxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlIGV4dGVuZHMgSU1uZ0NydWRBcGlTZXJ2aWNlPE1vZGVsLCBSZXF1ZXN0TW9kZWw+ICYgSU1uZ0dldEFsbEFwaVNlcnZpY2U8UXVlcnlSZXN1bHQ8TW9kZWw+PiwgU29ydHMsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnk+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgcmVxdWVzdFR5cGU6IENsYXNzVHlwZTxSZXF1ZXN0TW9kZWw+LFxuICAgIHNlcnZpY2U6IFNlcnZpY2VDbGFzc1R5cGU8U2VydmljZT4sXG4gICAgbW9kZWxDb25maWc/OiB7XG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbDtcbiAgICAgICAgdGl0bGVQcm9wZXJ0eT86IGtleW9mIE1vZGVsO1xuICAgICAgICBpMThuQmFzZUtleT86IHN0cmluZztcbiAgICB9LFxuICAgIGJ1aWxkRm4/OiAoXG4gICAgICAgIGJ1aWxkZXI6IFRhYmxldmlld0J1aWxkZXI8XG4gICAgICAgICAgICBNb2RlbCxcbiAgICAgICAgICAgIFNlcnZpY2UsXG4gICAgICAgICAgICBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICAgICAgVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFJlcXVlc3RNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICAgICAgU29ydHMsXG4gICAgICAgICAgICBGaWx0ZXJzXG4gICAgICAgID5cbiAgICApID0+IHZvaWRcbikge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVGFibGV2aWV3QnVpbGRlcjxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIFNlcnZpY2UsXG4gICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgIFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBSZXF1ZXN0TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPixcbiAgICAgICAgU29ydHMsXG4gICAgICAgIEZpbHRlcnNcbiAgICA+KFxuICAgICAgICBUYWJsZXZpZXdEZXNjcmlwdG9yLmZyb21DbGFzcyh0eXBlLCBtb2RlbENvbmZpZz8uaWRQcm9wZXJ0eSwgbW9kZWxDb25maWc/LnRpdGxlUHJvcGVydHksIG1vZGVsQ29uZmlnPy5pMThuQmFzZUtleSksXG4gICAgICAgIFRhYmxldmlld0NydWREYXRhUHJvdmlkZXIuY3JlYXRlKHR5cGUsIHJlcXVlc3RUeXBlLCBzZXJ2aWNlLCBtb2RlbENvbmZpZz8uaWRQcm9wZXJ0eSksXG4gICAgICAgIGluamVjdChJbmplY3RvcilcbiAgICApO1xuICAgIGJ1aWxkRm4/LihidWlsZGVyKTtcbiAgICByZXR1cm4gYnVpbGRlci5idWlsZCgpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0YWJsZXZpZXcgd2l0aCB0aGUgZ2l2ZW4gY2xhc3MsIHJlcXVlc3QgY2xhc3MsIHNlcnZpY2UgYmFzZWQgb24gZGF0YSBBUEkgdjIsIHNvcnQsIGZpbHRlcnMgYW5kIG9wdGlvbmFsIGNsYXNzL21vZGVsIGNvbmZpZ3VyYXRpb24uXG4gKiBTb3J0cyBhbmQgZmlsdGVycyBhcmUgZXhwZWN0ZWQgdG8gYmUga2V5cyBvZiBjbGFzcy5cbiAqXG4gKiBAcGFyYW0ge0NsYXNzVHlwZTxNb2RlbD59IHR5cGUgLSBUaGUgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSBtb2RlbC5cbiAqIEBwYXJhbSB7Q2xhc3NUeXBlPFJlcXVlc3RNb2RlbD59IHJlcXVlc3RUeXBlIC0gVGhlIGNsYXNzIHJlcHJlc2VudGluZyB0aGUgbW9kZWwgZm9yIGNyZWF0ZSBhbmQgdXBkYXRlIG9wZXJhdGlvbnMuXG4gKiBAcGFyYW0ge1NlcnZpY2VDbGFzc1R5cGU8U2VydmljZT59IHNlcnZpY2UgLSBUaGUgY2xhc3MgdHlwZSBvZiB0aGUgc2VydmljZSBpbXBsZW1lbnRpbmcgYElNbmdDcnVkQXBpU2VydmljZWAgYW5kIGBJTW5nR2V0QWxsQXBpU2VydmljZWAuXG4gKiBAcGFyYW0ge3sgaWRQcm9wZXJ0eT86IGtleW9mIE1vZGVsOyB0aXRsZVByb3BlcnR5Pzoga2V5b2YgTW9kZWw7IGkxOG5CYXNlS2V5PzogQ2xhc3NUeXBlPGFueT4gfCBzdHJpbmc7IH19IFttb2RlbENvbmZpZ10gLSBBZGRpdGlvbmFsIG9wdGlvbmFsIG1vZGVsIGNvbmZpZ3VyYXRpb24uXG4gKiBAcGFyYW0geyhidWlsZGVyOiBUYWJsZXZpZXdCdWlsZGVyKSA9PiB2b2lkfSBbYnVpbGRGbl0gLSBUaGUgb3B0aW9uYWwgY2FsbGJhY2sgZnVuY3Rpb24gdG8gY3VzdG9taXplIHRoZSB0YWJsZXZpZXcgdXNpbmcgdGhlIHByZXBhcmVkIGJ1aWxkZXIuXG4gKlxuICogQHJldHVybnMgQSB0YWJsZXZpZXcgaW5zdGFuY2Ugd2l0aCBkZXNjcmlwdG9yLCBkYXRhIHByb3ZpZGVyIGFuZCBhY3Rpb25zLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFibGV2aWV3Q3J1ZDxcbiAgICBNb2RlbCxcbiAgICBSZXF1ZXN0TW9kZWwsXG4gICAgU2VydmljZSBleHRlbmRzIElNbmdDcnVkQXBpU2VydmljZTxNb2RlbCwgUmVxdWVzdE1vZGVsPiAmIElNbmdHZXRBbGxBcGlTZXJ2aWNlPFF1ZXJ5UmVzdWx0PE1vZGVsPj4sXG4gICAgU29ydHMgPSBrZXlvZiBNb2RlbCxcbiAgICBGaWx0ZXJzIGV4dGVuZHMga2V5b2YgYW55ID0ga2V5b2YgTW9kZWxcbj4oXG4gICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICByZXF1ZXN0VHlwZTogQ2xhc3NUeXBlPFJlcXVlc3RNb2RlbD4sXG4gICAgc2VydmljZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPixcbiAgICBtb2RlbENvbmZpZz86IHtcbiAgICAgICAgaWRQcm9wZXJ0eT86IGtleW9mIE1vZGVsO1xuICAgICAgICB0aXRsZVByb3BlcnR5Pzoga2V5b2YgTW9kZWw7XG4gICAgICAgIGkxOG5CYXNlS2V5Pzogc3RyaW5nO1xuICAgIH0sXG4gICAgYnVpbGRGbj86IChcbiAgICAgICAgYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcjxcbiAgICAgICAgICAgIE1vZGVsLFxuICAgICAgICAgICAgU2VydmljZSxcbiAgICAgICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgICAgICBTb3J0cyxcbiAgICAgICAgICAgIEZpbHRlcnNcbiAgICAgICAgPlxuICAgICkgPT4gdm9pZFxuKSB7XG4gICAgcmV0dXJuIHByZXBhcmVCdWlsZGVyPE1vZGVsLCBSZXF1ZXN0TW9kZWwsIFNlcnZpY2UsIFNvcnRzLCBGaWx0ZXJzPih0eXBlLCByZXF1ZXN0VHlwZSwgc2VydmljZSwgbW9kZWxDb25maWcsIGJ1aWxkRm4pO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSB0YWJsZXZpZXcgd2l0aCB0aGUgZ2l2ZW4gY2xhc3MsIHJlcXVlc3QgY2xhc3MsIHNlcnZpY2UgYmFzZWQgb24gZGF0YSBBUEkgdjIsIHNvcnQsIGZpbHRlcnMgYW5kIG9wdGlvbmFsIGNsYXNzL21vZGVsIGNvbmZpZ3VyYXRpb24uXG4gKlxuICogQHBhcmFtIHtDbGFzc1R5cGU8TW9kZWw+fSB0eXBlIC0gVGhlIGNsYXNzIHJlcHJlc2VudGluZyB0aGUgbW9kZWwuXG4gKiBAcGFyYW0ge0NsYXNzVHlwZTxSZXF1ZXN0TW9kZWw+fSByZXF1ZXN0VHlwZSAtIFRoZSBjbGFzcyByZXByZXNlbnRpbmcgdGhlIG1vZGVsIGZvciBjcmVhdGUgYW5kIHVwZGF0ZSBvcGVyYXRpb25zLlxuICogQHBhcmFtIHtTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+fSBzZXJ2aWNlIC0gVGhlIGNsYXNzIHR5cGUgb2YgdGhlIHNlcnZpY2UgaW1wbGVtZW50aW5nIGBJTW5nQ3J1ZEFwaVNlcnZpY2VgIGFuZCBgSU1uZ0dldEFsbEFwaVNlcnZpY2VgLlxuICogQHBhcmFtIHtUeXBlRGVzY3JpcHRvcjxTb3J0cz59IHNvcnRzIC0gVGhlIGF2YWlsYWJsZSBzb3J0IGtleXMgb2YgZ2V0IGFsbCByZXF1ZXN0LlxuICogQHBhcmFtIHtUeXBlRGVzY3JpcHRvcjxGaWx0ZXJzPn0gZmlsdGVycyAtIFRoZSBhdmFpbGFibGUgZmlsdGVyIGtleXMgb2YgZ2V0IGFsbCByZXF1ZXN0LlxuICogQHBhcmFtIHt7IGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbDsgdGl0bGVQcm9wZXJ0eT86IGtleW9mIE1vZGVsOyBpMThuQmFzZUtleT86IENsYXNzVHlwZTxhbnk+IHwgc3RyaW5nOyB9fSBbbW9kZWxDb25maWddIC0gQWRkaXRpb25hbCBvcHRpb25hbCBtb2RlbCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHsoYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcikgPT4gdm9pZH0gW2J1aWxkRm5dIC0gVGhlIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgdGFibGV2aWV3IHVzaW5nIHRoZSBwcmVwYXJlZCBidWlsZGVyLlxuICpcbiAqIEByZXR1cm5zIEEgdGFibGV2aWV3IGluc3RhbmNlIHdpdGggZGVzY3JpcHRvciwgZGF0YSBwcm92aWRlciBhbmQgYWN0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0NydWRXaXRoU29ydEFuZEZpbHRlcjxcbiAgICBNb2RlbCxcbiAgICBSZXF1ZXN0TW9kZWwsXG4gICAgU2VydmljZSBleHRlbmRzIElNbmdDcnVkQXBpU2VydmljZTxNb2RlbCwgUmVxdWVzdE1vZGVsPiAmIElNbmdHZXRBbGxBcGlTZXJ2aWNlPFF1ZXJ5UmVzdWx0PE1vZGVsPj4sXG4gICAgU29ydHMsXG4gICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueVxuPihcbiAgICB0eXBlOiBDbGFzc1R5cGU8TW9kZWw+LFxuICAgIHJlcXVlc3RUeXBlOiBDbGFzc1R5cGU8UmVxdWVzdE1vZGVsPixcbiAgICBzZXJ2aWNlOiBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+LFxuICAgIHNvcnRzOiBUeXBlRGVzY3JpcHRvcjxTb3J0cz4sXG4gICAgZmlsdGVyczogVHlwZURlc2NyaXB0b3I8RmlsdGVycz4sXG4gICAgbW9kZWxDb25maWc/OiB7XG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbDtcbiAgICAgICAgdGl0bGVQcm9wZXJ0eT86IGtleW9mIE1vZGVsO1xuICAgICAgICBpMThuQmFzZUtleT86IHN0cmluZztcbiAgICB9LFxuICAgIGJ1aWxkRm4/OiAoXG4gICAgICAgIGJ1aWxkZXI6IFRhYmxldmlld0J1aWxkZXI8XG4gICAgICAgICAgICBNb2RlbCxcbiAgICAgICAgICAgIFNlcnZpY2UsXG4gICAgICAgICAgICBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxNb2RlbCwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICAgICAgVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFJlcXVlc3RNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICAgICAgU29ydHMsXG4gICAgICAgICAgICBGaWx0ZXJzXG4gICAgICAgID5cbiAgICApID0+IHZvaWRcbikge1xuICAgIHJldHVybiBwcmVwYXJlQnVpbGRlcjxNb2RlbCwgUmVxdWVzdE1vZGVsLCBTZXJ2aWNlLCBTb3J0cywgRmlsdGVycz4odHlwZSwgcmVxdWVzdFR5cGUsIHNlcnZpY2UsIG1vZGVsQ29uZmlnLCBidWlsZEZuKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
// helpers
|
|
2
|
+
export * from './helpers/tableview-crud-create';
|
|
3
|
+
// models
|
|
4
|
+
export * from './models/query-result.model';
|
|
5
|
+
// serder
|
|
6
|
+
export * from './serder/object-serializer';
|
|
7
|
+
// services
|
|
8
|
+
export * from './services/api.abstract.service';
|
|
9
|
+
export * from './services/crud-api.abstract.service';
|
|
10
|
+
export * from './services/get-all-api.abstract.service';
|
|
11
|
+
// tableview
|
|
12
|
+
export * from './tableview/tableview-crud.data-provider';
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9kYXRhLWFwaS9jbGFzcy1kdG8vc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixjQUFjLGlDQUFpQyxDQUFDO0FBRWhELFNBQVM7QUFDVCxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLFNBQVM7QUFDVCxjQUFjLDRCQUE0QixDQUFDO0FBRTNDLFdBQVc7QUFDWCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxZQUFZO0FBQ1osY0FBYywwQ0FBMEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGhlbHBlcnNcbmV4cG9ydCAqIGZyb20gJy4vaGVscGVycy90YWJsZXZpZXctY3J1ZC1jcmVhdGUnO1xuXG4vLyBtb2RlbHNcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3F1ZXJ5LXJlc3VsdC5tb2RlbCc7XG5cbi8vIHNlcmRlclxuZXhwb3J0ICogZnJvbSAnLi9zZXJkZXIvb2JqZWN0LXNlcmlhbGl6ZXInO1xuXG4vLyBzZXJ2aWNlc1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9hcGkuYWJzdHJhY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2NydWQtYXBpLmFic3RyYWN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9nZXQtYWxsLWFwaS5hYnN0cmFjdC5zZXJ2aWNlJztcblxuLy8gdGFibGV2aWV3XG5leHBvcnQgKiBmcm9tICcuL3RhYmxldmlldy90YWJsZXZpZXctY3J1ZC5kYXRhLXByb3ZpZGVyJztcbiJdfQ==
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLWR0by5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9zcmMvbWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLWR0by50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export class QueryResult {
|
|
2
|
+
static fromArray(pageData, allDataCount) {
|
|
3
|
+
const mqr = new QueryResult();
|
|
4
|
+
mqr.totalCount = allDataCount ?? pageData.length;
|
|
5
|
+
mqr.data = pageData;
|
|
6
|
+
return mqr;
|
|
7
|
+
}
|
|
8
|
+
static { this.attributeTypeMap = [
|
|
9
|
+
{
|
|
10
|
+
name: 'totalCount',
|
|
11
|
+
baseName: 'totalCount',
|
|
12
|
+
type: 'number'
|
|
13
|
+
},
|
|
14
|
+
{
|
|
15
|
+
name: 'data',
|
|
16
|
+
baseName: 'data',
|
|
17
|
+
type: 'Array<T>'
|
|
18
|
+
}
|
|
19
|
+
]; }
|
|
20
|
+
static getAttributeTypeMap() {
|
|
21
|
+
return QueryResult.attributeTypeMap;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcmVzdWx0Lm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vZGF0YS1hcGkvY2xhc3MtZHRvL3NyYy9tb2RlbHMvcXVlcnktcmVzdWx0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxXQUFXO0lBTXBCLE1BQU0sQ0FBQyxTQUFTLENBQU8sUUFBZ0IsRUFBRSxZQUFxQjtRQUMxRCxNQUFNLEdBQUcsR0FBRyxJQUFJLFdBQVcsRUFBUSxDQUFDO1FBQ3BDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsWUFBWSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUM7UUFDakQsR0FBRyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7UUFDcEIsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO2FBRU0scUJBQWdCLEdBQTZCO1FBQ2hEO1lBQ0ksSUFBSSxFQUFFLFlBQVk7WUFDbEIsUUFBUSxFQUFFLFlBQVk7WUFDdEIsSUFBSSxFQUFFLFFBQVE7U0FDakI7UUFDRDtZQUNJLElBQUksRUFBRSxNQUFNO1lBQ1osUUFBUSxFQUFFLE1BQU07WUFDaEIsSUFBSSxFQUFFLFVBQVU7U0FDbkI7S0FDSixDQUFDO0lBRUYsTUFBTSxDQUFDLG1CQUFtQjtRQUN0QixPQUFPLFdBQVcsQ0FBQyxnQkFBZ0IsQ0FBQztJQUN4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDbGFzc0F0dHJpYnV0ZURlZn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucyc7XG5cbmV4cG9ydCBjbGFzcyBRdWVyeVJlc3VsdDxJdGVtPiBpbXBsZW1lbnRzIElNZWRpdXNRdWVyeVJlc3VsdFYyPEl0ZW0+IHtcbiAgICB0b3RhbENvdW50PzogbnVtYmVyO1xuICAgIGRhdGE/OiBBcnJheTxJdGVtPjtcblxuICAgIHN0YXRpYyBkaXNjcmltaW5hdG9yPzogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21BcnJheTxJdGVtPihwYWdlRGF0YTogSXRlbVtdLCBhbGxEYXRhQ291bnQ/OiBudW1iZXIpIHtcbiAgICAgICAgY29uc3QgbXFyID0gbmV3IFF1ZXJ5UmVzdWx0PEl0ZW0+KCk7XG4gICAgICAgIG1xci50b3RhbENvdW50ID0gYWxsRGF0YUNvdW50ID8/IHBhZ2VEYXRhLmxlbmd0aDtcbiAgICAgICAgbXFyLmRhdGEgPSBwYWdlRGF0YTtcbiAgICAgICAgcmV0dXJuIG1xcjtcbiAgICB9XG5cbiAgICBzdGF0aWMgYXR0cmlidXRlVHlwZU1hcDogQXJyYXk8Q2xhc3NBdHRyaWJ1dGVEZWY+ID0gW1xuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiAndG90YWxDb3VudCcsXG4gICAgICAgICAgICBiYXNlTmFtZTogJ3RvdGFsQ291bnQnLFxuICAgICAgICAgICAgdHlwZTogJ251bWJlcidcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogJ2RhdGEnLFxuICAgICAgICAgICAgYmFzZU5hbWU6ICdkYXRhJyxcbiAgICAgICAgICAgIHR5cGU6ICdBcnJheTxUPidcbiAgICAgICAgfVxuICAgIF07XG5cbiAgICBzdGF0aWMgZ2V0QXR0cmlidXRlVHlwZU1hcCgpIHtcbiAgICAgICAgcmV0dXJuIFF1ZXJ5UmVzdWx0LmF0dHJpYnV0ZVR5cGVNYXA7XG4gICAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElNZWRpdXNRdWVyeVJlc3VsdFYyPEl0ZW0+IHtcbiAgICB0b3RhbENvdW50PzogbnVtYmVyO1xuICAgIGRhdGE/OiBBcnJheTxJdGVtPjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { map } from 'rxjs/operators';
|
|
2
|
+
import { FilterMatchMode, MngInternalError } from '@mediusinc/mng-commons';
|
|
3
|
+
import { MediusQueryParamBuilder } from '../models/builders/query-param.builder';
|
|
4
|
+
import { MediusFilterMatchType } from '../models/filter-match-type.model';
|
|
5
|
+
/**
|
|
6
|
+
* Converts the given DataListParams object to an ObsoleteV1QueryParam object.
|
|
7
|
+
*
|
|
8
|
+
* @param {DataListParams} params - The object to convert.
|
|
9
|
+
* @param {QueryParamMap} map - The configuration object used to map sort and filter properties.
|
|
10
|
+
*
|
|
11
|
+
* @returns The converted ObsoleteV1QueryParam object if params is not null or undefined, otherwise returns undefined.
|
|
12
|
+
*
|
|
13
|
+
* @deprecated
|
|
14
|
+
*/
|
|
15
|
+
export function toObsoleteV1QueryParam(params, map) {
|
|
16
|
+
if (!params)
|
|
17
|
+
return undefined;
|
|
18
|
+
const builder = MediusQueryParamBuilder.create();
|
|
19
|
+
if (params.offset !== undefined) {
|
|
20
|
+
builder.withItemsOffset(params.offset);
|
|
21
|
+
}
|
|
22
|
+
if (params.limit !== undefined) {
|
|
23
|
+
builder.withItemsPerPage(params.limit);
|
|
24
|
+
}
|
|
25
|
+
if (Array.isArray(params.sort)) {
|
|
26
|
+
params.sort.forEach(s => builder.withSort(map?.mapSort(s.property) ?? s.property, s.ascending));
|
|
27
|
+
}
|
|
28
|
+
if (typeof params.filters === 'object') {
|
|
29
|
+
Object.entries(params.filters).forEach(([key, value]) => {
|
|
30
|
+
const filter = value;
|
|
31
|
+
if (filter.value != null) {
|
|
32
|
+
const matchMode = filter.matchMode ? toObsoleteV1FilterMatchType(filter.matchMode) : MediusFilterMatchType.Equals;
|
|
33
|
+
let value = undefined;
|
|
34
|
+
let valueTo = undefined;
|
|
35
|
+
if (matchMode === MediusFilterMatchType.FromTo) {
|
|
36
|
+
if (Array.isArray(filter.value)) {
|
|
37
|
+
if (filter.value.length > 0)
|
|
38
|
+
value = filter.value[0];
|
|
39
|
+
if (filter.value.length > 1)
|
|
40
|
+
valueTo = filter.value[1];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
value = filter.value;
|
|
45
|
+
}
|
|
46
|
+
builder.withFilter(map?.mapFilter(key) ?? key, value, valueTo, matchMode, filter.caseSensitive);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
return builder.build();
|
|
51
|
+
}
|
|
52
|
+
export function toObsoleteV1FilterMatchType(match) {
|
|
53
|
+
switch (match) {
|
|
54
|
+
case FilterMatchMode.Equals:
|
|
55
|
+
return MediusFilterMatchType.Equals;
|
|
56
|
+
case FilterMatchMode.NotEquals:
|
|
57
|
+
return MediusFilterMatchType.NotEquals;
|
|
58
|
+
case FilterMatchMode.Contains:
|
|
59
|
+
return MediusFilterMatchType.Contains;
|
|
60
|
+
case FilterMatchMode.In:
|
|
61
|
+
return MediusFilterMatchType.In;
|
|
62
|
+
case FilterMatchMode.NotIn:
|
|
63
|
+
return MediusFilterMatchType.NotIn;
|
|
64
|
+
case FilterMatchMode.StartsWith:
|
|
65
|
+
return MediusFilterMatchType.StartsWith;
|
|
66
|
+
case FilterMatchMode.EndsWith:
|
|
67
|
+
return MediusFilterMatchType.EndsWith;
|
|
68
|
+
case FilterMatchMode.LessThan:
|
|
69
|
+
return MediusFilterMatchType.SmallerThan;
|
|
70
|
+
case FilterMatchMode.GreaterThan:
|
|
71
|
+
return MediusFilterMatchType.GreaterThan;
|
|
72
|
+
case FilterMatchMode.Between:
|
|
73
|
+
return MediusFilterMatchType.FromTo;
|
|
74
|
+
case FilterMatchMode.Exists:
|
|
75
|
+
return MediusFilterMatchType.Exists;
|
|
76
|
+
case FilterMatchMode.DoesNotExist:
|
|
77
|
+
return MediusFilterMatchType.DoesNotExist;
|
|
78
|
+
case FilterMatchMode.NotContains:
|
|
79
|
+
case FilterMatchMode.LessThanOrEqualTo:
|
|
80
|
+
case FilterMatchMode.GreaterThanOrEqualTo:
|
|
81
|
+
default:
|
|
82
|
+
throw new MngInternalError(`Filter match type '${match}' not supported.`);
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Convert a query result from an obsolete API version 1 to a `DataListResult`
|
|
87
|
+
*
|
|
88
|
+
* @param {DataListParams} params - The data list parameters for the query
|
|
89
|
+
* @param {Service} service - The service object used to make the API call
|
|
90
|
+
* @param {function} apiOperation - The API operation function that returns an `Observable<MediusQueryResult<Item>>`
|
|
91
|
+
* @param {any} additionalParams - Additional parameters to pass to the API operation function (optional)
|
|
92
|
+
*
|
|
93
|
+
* @returns {Observable<DataListResult<Item>>} - An observable that emits a `DataListResult` object
|
|
94
|
+
*
|
|
95
|
+
* @deprecated
|
|
96
|
+
*/
|
|
97
|
+
export function toObsoleteV1QueryResult(params, service, apiOperation, additionalParams) {
|
|
98
|
+
const queryParam = toObsoleteV1QueryParam(params);
|
|
99
|
+
return apiOperation
|
|
100
|
+
.bind(service)(queryParam, ...(additionalParams ?? []))
|
|
101
|
+
.pipe(map(res => ({ data: res.pageData ?? [], totalCount: res.allDataCount })));
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW0tY29udmVydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9vYnNvbGV0ZS9zcmMvaGVscGVycy9xdWVyeS1wYXJhbS1jb252ZXJ0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxPQUFPLEVBQTBFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBRWxKLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFBQyxxQkFBcUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBY3hFOzs7Ozs7Ozs7R0FTRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDbEMsTUFBdUMsRUFDdkMsR0FBbUM7SUFFbkMsSUFBSSxDQUFDLE1BQU07UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUU5QixNQUFNLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUVqRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFO1FBQzdCLE9BQU8sQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFDO0lBQ0QsSUFBSSxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRTtRQUM1QixPQUFPLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0tBQzFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsUUFBa0IsQ0FBQyxJQUFLLENBQUMsQ0FBQyxRQUFtQixFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO0tBQ3pIO0lBQ0QsSUFBSSxPQUFPLE1BQU0sQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFO1FBQ3BDLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFDcEQsTUFBTSxNQUFNLEdBQUcsS0FBdUIsQ0FBQztZQUN2QyxJQUFJLE1BQU0sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFO2dCQUN0QixNQUFNLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztnQkFDbEgsSUFBSSxLQUFLLEdBQTRCLFNBQVMsQ0FBQztnQkFDL0MsSUFBSSxPQUFPLEdBQTRCLFNBQVMsQ0FBQztnQkFDakQsSUFBSSxTQUFTLEtBQUsscUJBQXFCLENBQUMsTUFBTSxFQUFFO29CQUM1QyxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFO3dCQUM3QixJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7NEJBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7d0JBQ3JELElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQzs0QkFBRSxPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztxQkFDMUQ7aUJBQ0o7cUJBQU07b0JBQ0gsS0FBSyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUM7aUJBQ3hCO2dCQUVELE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ25HO1FBQ0wsQ0FBQyxDQUFDLENBQUM7S0FDTjtJQUVELE9BQU8sT0FBTyxDQUFDLEtBQUssRUFBRSxDQUFDO0FBQzNCLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBQUMsS0FBYTtJQUNyRCxRQUFRLEtBQUssRUFBRTtRQUNYLEtBQUssZUFBZSxDQUFDLE1BQU07WUFDdkIsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDeEMsS0FBSyxlQUFlLENBQUMsU0FBUztZQUMxQixPQUFPLHFCQUFxQixDQUFDLFNBQVMsQ0FBQztRQUMzQyxLQUFLLGVBQWUsQ0FBQyxRQUFRO1lBQ3pCLE9BQU8scUJBQXFCLENBQUMsUUFBUSxDQUFDO1FBQzFDLEtBQUssZUFBZSxDQUFDLEVBQUU7WUFDbkIsT0FBTyxxQkFBcUIsQ0FBQyxFQUFFLENBQUM7UUFDcEMsS0FBSyxlQUFlLENBQUMsS0FBSztZQUN0QixPQUFPLHFCQUFxQixDQUFDLEtBQUssQ0FBQztRQUN2QyxLQUFLLGVBQWUsQ0FBQyxVQUFVO1lBQzNCLE9BQU8scUJBQXFCLENBQUMsVUFBVSxDQUFDO1FBQzVDLEtBQUssZUFBZSxDQUFDLFFBQVE7WUFDekIsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLENBQUM7UUFDMUMsS0FBSyxlQUFlLENBQUMsUUFBUTtZQUN6QixPQUFPLHFCQUFxQixDQUFDLFdBQVcsQ0FBQztRQUM3QyxLQUFLLGVBQWUsQ0FBQyxXQUFXO1lBQzVCLE9BQU8scUJBQXFCLENBQUMsV0FBVyxDQUFDO1FBQzdDLEtBQUssZUFBZSxDQUFDLE9BQU87WUFDeEIsT0FBTyxxQkFBcUIsQ0FBQyxNQUFNLENBQUM7UUFDeEMsS0FBSyxlQUFlLENBQUMsTUFBTTtZQUN2QixPQUFPLHFCQUFxQixDQUFDLE1BQU0sQ0FBQztRQUN4QyxLQUFLLGVBQWUsQ0FBQyxZQUFZO1lBQzdCLE9BQU8scUJBQXFCLENBQUMsWUFBWSxDQUFDO1FBQzlDLEtBQUssZUFBZSxDQUFDLFdBQVcsQ0FBQztRQUNqQyxLQUFLLGVBQWUsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2QyxLQUFLLGVBQWUsQ0FBQyxvQkFBb0IsQ0FBQztRQUMxQztZQUNJLE1BQU0sSUFBSSxnQkFBZ0IsQ0FBQyxzQkFBc0IsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDO0tBQ2pGO0FBQ0wsQ0FBQztBQUVEOzs7Ozs7Ozs7OztHQVdHO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUNuQyxNQUFzQixFQUN0QixPQUFnQixFQUNoQixZQUFxRyxFQUNyRyxnQkFBc0I7SUFFdEIsTUFBTSxVQUFVLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEQsT0FBTyxZQUFZO1NBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFVBQVUsRUFBRSxHQUFHLENBQUMsZ0JBQWdCLElBQUksRUFBRSxDQUFDLENBQUM7U0FDdEQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFFBQVEsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsQ0FBQyxZQUFZLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7RGF0YUxpc3RGaWx0ZXIsIERhdGFMaXN0RmlsdGVyVmFsdWVUeXBlLCBEYXRhTGlzdFBhcmFtcywgRGF0YUxpc3RSZXN1bHQsIEZpbHRlck1hdGNoTW9kZSwgTW5nSW50ZXJuYWxFcnJvcn0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucyc7XG5cbmltcG9ydCB7TWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXJ9IGZyb20gJy4uL21vZGVscy9idWlsZGVycy9xdWVyeS1wYXJhbS5idWlsZGVyJztcbmltcG9ydCB7TWVkaXVzRmlsdGVyTWF0Y2hUeXBlfSBmcm9tICcuLi9tb2RlbHMvZmlsdGVyLW1hdGNoLXR5cGUubW9kZWwnO1xuaW1wb3J0IHtNZWRpdXNRdWVyeVBhcmFtfSBmcm9tICcuLi9tb2RlbHMvcXVlcnktcGFyYW0ubW9kZWwnO1xuaW1wb3J0IHtNZWRpdXNRdWVyeVJlc3VsdH0gZnJvbSAnLi4vbW9kZWxzL3F1ZXJ5LXJlc3VsdC5tb2RlbCc7XG5pbXBvcnQge1F1ZXJ5UGFyYW1NYXB9IGZyb20gJy4uL3V0aWxzL3F1ZXJ5LXBhcmFtLW1hcC51dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRvT2Jzb2xldGVWMVF1ZXJ5UGFyYW0oKTogdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIHRvT2Jzb2xldGVWMVF1ZXJ5UGFyYW08U29ydHMgPSBzdHJpbmcsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBzdHJpbmc+KFxuICAgIHBhcmFtczogRGF0YUxpc3RQYXJhbXM8U29ydHMsIEZpbHRlcnM+LFxuICAgIG1hcD86IFF1ZXJ5UGFyYW1NYXA8U29ydHMsIEZpbHRlcnM+XG4pOiBNZWRpdXNRdWVyeVBhcmFtO1xuZXhwb3J0IGZ1bmN0aW9uIHRvT2Jzb2xldGVWMVF1ZXJ5UGFyYW08U29ydHMgPSBzdHJpbmcsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBzdHJpbmc+KFxuICAgIHBhcmFtczogRGF0YUxpc3RQYXJhbXM8U29ydHMsIEZpbHRlcnM+IHwgdW5kZWZpbmVkLFxuICAgIG1hcD86IFF1ZXJ5UGFyYW1NYXA8U29ydHMsIEZpbHRlcnM+XG4pOiBNZWRpdXNRdWVyeVBhcmFtIHwgdW5kZWZpbmVkO1xuLyoqXG4gKiBDb252ZXJ0cyB0aGUgZ2l2ZW4gRGF0YUxpc3RQYXJhbXMgb2JqZWN0IHRvIGFuIE9ic29sZXRlVjFRdWVyeVBhcmFtIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0ge0RhdGFMaXN0UGFyYW1zfSBwYXJhbXMgLSBUaGUgb2JqZWN0IHRvIGNvbnZlcnQuXG4gKiBAcGFyYW0ge1F1ZXJ5UGFyYW1NYXB9IG1hcCAtIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCB1c2VkIHRvIG1hcCBzb3J0IGFuZCBmaWx0ZXIgcHJvcGVydGllcy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgY29udmVydGVkIE9ic29sZXRlVjFRdWVyeVBhcmFtIG9iamVjdCBpZiBwYXJhbXMgaXMgbm90IG51bGwgb3IgdW5kZWZpbmVkLCBvdGhlcndpc2UgcmV0dXJucyB1bmRlZmluZWQuXG4gKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT2Jzb2xldGVWMVF1ZXJ5UGFyYW08U29ydHMgPSBzdHJpbmcsIEZpbHRlcnMgZXh0ZW5kcyBrZXlvZiBhbnkgPSBzdHJpbmc+KFxuICAgIHBhcmFtcz86IERhdGFMaXN0UGFyYW1zPFNvcnRzLCBGaWx0ZXJzPixcbiAgICBtYXA/OiBRdWVyeVBhcmFtTWFwPFNvcnRzLCBGaWx0ZXJzPlxuKTogTWVkaXVzUXVlcnlQYXJhbSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFwYXJhbXMpIHJldHVybiB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCBidWlsZGVyID0gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKCk7XG5cbiAgICBpZiAocGFyYW1zLm9mZnNldCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGJ1aWxkZXIud2l0aEl0ZW1zT2Zmc2V0KHBhcmFtcy5vZmZzZXQpO1xuICAgIH1cbiAgICBpZiAocGFyYW1zLmxpbWl0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYnVpbGRlci53aXRoSXRlbXNQZXJQYWdlKHBhcmFtcy5saW1pdCk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmFtcy5zb3J0KSkge1xuICAgICAgICBwYXJhbXMuc29ydC5mb3JFYWNoKHMgPT4gYnVpbGRlci53aXRoU29ydChtYXA/Lm1hcFNvcnQocy5wcm9wZXJ0eSBhcyBzdHJpbmcpID8/IChzLnByb3BlcnR5IGFzIHN0cmluZyksIHMuYXNjZW5kaW5nKSk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcGFyYW1zLmZpbHRlcnMgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIE9iamVjdC5lbnRyaWVzKHBhcmFtcy5maWx0ZXJzKS5mb3JFYWNoKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlciA9IHZhbHVlIGFzIERhdGFMaXN0RmlsdGVyO1xuICAgICAgICAgICAgaWYgKGZpbHRlci52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWF0Y2hNb2RlID0gZmlsdGVyLm1hdGNoTW9kZSA/IHRvT2Jzb2xldGVWMUZpbHRlck1hdGNoVHlwZShmaWx0ZXIubWF0Y2hNb2RlKSA6IE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5FcXVhbHM7XG4gICAgICAgICAgICAgICAgbGV0IHZhbHVlOiBEYXRhTGlzdEZpbHRlclZhbHVlVHlwZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICBsZXQgdmFsdWVUbzogRGF0YUxpc3RGaWx0ZXJWYWx1ZVR5cGUgPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgaWYgKG1hdGNoTW9kZSA9PT0gTWVkaXVzRmlsdGVyTWF0Y2hUeXBlLkZyb21Ubykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShmaWx0ZXIudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlsdGVyLnZhbHVlLmxlbmd0aCA+IDApIHZhbHVlID0gZmlsdGVyLnZhbHVlWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpbHRlci52YWx1ZS5sZW5ndGggPiAxKSB2YWx1ZVRvID0gZmlsdGVyLnZhbHVlWzFdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBmaWx0ZXIudmFsdWU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnVpbGRlci53aXRoRmlsdGVyKG1hcD8ubWFwRmlsdGVyKGtleSkgPz8ga2V5LCB2YWx1ZSwgdmFsdWVUbywgbWF0Y2hNb2RlLCBmaWx0ZXIuY2FzZVNlbnNpdGl2ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiBidWlsZGVyLmJ1aWxkKCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b09ic29sZXRlVjFGaWx0ZXJNYXRjaFR5cGUobWF0Y2g6IHN0cmluZyk6IE1lZGl1c0ZpbHRlck1hdGNoVHlwZSB7XG4gICAgc3dpdGNoIChtYXRjaCkge1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5FcXVhbHM6XG4gICAgICAgICAgICByZXR1cm4gTWVkaXVzRmlsdGVyTWF0Y2hUeXBlLkVxdWFscztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuTm90RXF1YWxzOlxuICAgICAgICAgICAgcmV0dXJuIE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5Ob3RFcXVhbHM7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkNvbnRhaW5zOlxuICAgICAgICAgICAgcmV0dXJuIE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5Db250YWlucztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuSW46XG4gICAgICAgICAgICByZXR1cm4gTWVkaXVzRmlsdGVyTWF0Y2hUeXBlLkluO1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5Ob3RJbjpcbiAgICAgICAgICAgIHJldHVybiBNZWRpdXNGaWx0ZXJNYXRjaFR5cGUuTm90SW47XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLlN0YXJ0c1dpdGg6XG4gICAgICAgICAgICByZXR1cm4gTWVkaXVzRmlsdGVyTWF0Y2hUeXBlLlN0YXJ0c1dpdGg7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkVuZHNXaXRoOlxuICAgICAgICAgICAgcmV0dXJuIE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5FbmRzV2l0aDtcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuTGVzc1RoYW46XG4gICAgICAgICAgICByZXR1cm4gTWVkaXVzRmlsdGVyTWF0Y2hUeXBlLlNtYWxsZXJUaGFuO1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5HcmVhdGVyVGhhbjpcbiAgICAgICAgICAgIHJldHVybiBNZWRpdXNGaWx0ZXJNYXRjaFR5cGUuR3JlYXRlclRoYW47XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkJldHdlZW46XG4gICAgICAgICAgICByZXR1cm4gTWVkaXVzRmlsdGVyTWF0Y2hUeXBlLkZyb21UbztcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuRXhpc3RzOlxuICAgICAgICAgICAgcmV0dXJuIE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5FeGlzdHM7XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkRvZXNOb3RFeGlzdDpcbiAgICAgICAgICAgIHJldHVybiBNZWRpdXNGaWx0ZXJNYXRjaFR5cGUuRG9lc05vdEV4aXN0O1xuICAgICAgICBjYXNlIEZpbHRlck1hdGNoTW9kZS5Ob3RDb250YWluczpcbiAgICAgICAgY2FzZSBGaWx0ZXJNYXRjaE1vZGUuTGVzc1RoYW5PckVxdWFsVG86XG4gICAgICAgIGNhc2UgRmlsdGVyTWF0Y2hNb2RlLkdyZWF0ZXJUaGFuT3JFcXVhbFRvOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IE1uZ0ludGVybmFsRXJyb3IoYEZpbHRlciBtYXRjaCB0eXBlICcke21hdGNofScgbm90IHN1cHBvcnRlZC5gKTtcbiAgICB9XG59XG5cbi8qKlxuICogQ29udmVydCBhIHF1ZXJ5IHJlc3VsdCBmcm9tIGFuIG9ic29sZXRlIEFQSSB2ZXJzaW9uIDEgdG8gYSBgRGF0YUxpc3RSZXN1bHRgXG4gKlxuICogQHBhcmFtIHtEYXRhTGlzdFBhcmFtc30gcGFyYW1zIC0gVGhlIGRhdGEgbGlzdCBwYXJhbWV0ZXJzIGZvciB0aGUgcXVlcnlcbiAqIEBwYXJhbSB7U2VydmljZX0gc2VydmljZSAtIFRoZSBzZXJ2aWNlIG9iamVjdCB1c2VkIHRvIG1ha2UgdGhlIEFQSSBjYWxsXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBhcGlPcGVyYXRpb24gLSBUaGUgQVBJIG9wZXJhdGlvbiBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gYE9ic2VydmFibGU8TWVkaXVzUXVlcnlSZXN1bHQ8SXRlbT4+YFxuICogQHBhcmFtIHthbnl9IGFkZGl0aW9uYWxQYXJhbXMgLSBBZGRpdGlvbmFsIHBhcmFtZXRlcnMgdG8gcGFzcyB0byB0aGUgQVBJIG9wZXJhdGlvbiBmdW5jdGlvbiAob3B0aW9uYWwpXG4gKlxuICogQHJldHVybnMge09ic2VydmFibGU8RGF0YUxpc3RSZXN1bHQ8SXRlbT4+fSAtIEFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyBhIGBEYXRhTGlzdFJlc3VsdGAgb2JqZWN0XG4gKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvT2Jzb2xldGVWMVF1ZXJ5UmVzdWx0PEl0ZW0sIFNlcnZpY2U+KFxuICAgIHBhcmFtczogRGF0YUxpc3RQYXJhbXMsXG4gICAgc2VydmljZTogU2VydmljZSxcbiAgICBhcGlPcGVyYXRpb246IChxcDogTWVkaXVzUXVlcnlQYXJhbSwgLi4uYWRkaXRpb25hbFBhcmFtczogYW55KSA9PiBPYnNlcnZhYmxlPE1lZGl1c1F1ZXJ5UmVzdWx0PEl0ZW0+PixcbiAgICBhZGRpdGlvbmFsUGFyYW1zPzogYW55XG4pOiBPYnNlcnZhYmxlPERhdGFMaXN0UmVzdWx0PEl0ZW0+PiB7XG4gICAgY29uc3QgcXVlcnlQYXJhbSA9IHRvT2Jzb2xldGVWMVF1ZXJ5UGFyYW0ocGFyYW1zKTtcbiAgICByZXR1cm4gYXBpT3BlcmF0aW9uXG4gICAgICAgIC5iaW5kKHNlcnZpY2UpKHF1ZXJ5UGFyYW0sIC4uLihhZGRpdGlvbmFsUGFyYW1zID8/IFtdKSlcbiAgICAgICAgLnBpcGUobWFwKHJlcyA9PiAoe2RhdGE6IHJlcy5wYWdlRGF0YSA/PyBbXSwgdG90YWxDb3VudDogcmVzLmFsbERhdGFDb3VudH0pKSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Injector, inject } from '@angular/core';
|
|
2
|
+
import { TableviewBuilder, TableviewDescriptor } from '@mediusinc/mng-commons';
|
|
3
|
+
import { TableviewCrudObsoleteV1DataProvider } from '../tableview/tableview-crud.data-provider';
|
|
4
|
+
/**
|
|
5
|
+
* Creates a tableview with the given class, service based on data API v1 (obsolete) and optional class/model configuration.
|
|
6
|
+
*
|
|
7
|
+
* @param {ClassType<Model>} type - The class representing the model.
|
|
8
|
+
* @param {ServiceClassType<Service>} service - The class type of the service implementing `IMngCrudObsoleteV1ApiService` and `IMngGetAllObsoleteV1ApiService`.
|
|
9
|
+
* @param {{ idProperty?: keyof Model; titleProperty?: keyof Model; i18nBaseKey?: ClassType<any> | string; }} [modelConfig] - Additional optional model configuration.
|
|
10
|
+
* @param {(builder: TableviewBuilder) => void} [buildFn] - The optional callback function to customize the tableview using the prepared builder.
|
|
11
|
+
*
|
|
12
|
+
* @returns {Tableview} - The built table view.
|
|
13
|
+
*
|
|
14
|
+
* @deprecated
|
|
15
|
+
*/
|
|
16
|
+
export function tableviewCrudObsoleteV1(type, service, modelConfig, buildFn) {
|
|
17
|
+
const builder = new TableviewBuilder(TableviewDescriptor.fromClass(type, modelConfig?.idProperty, modelConfig?.titleProperty, modelConfig?.i18nBaseKey), TableviewCrudObsoleteV1DataProvider.create(type, service, modelConfig?.idProperty), inject(Injector));
|
|
18
|
+
buildFn?.(builder);
|
|
19
|
+
return builder.build();
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWNydWQtY3JlYXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vZGF0YS1hcGkvY2xhc3MtZHRvL29ic29sZXRlL3NyYy9oZWxwZXJzL3RhYmxldmlldy1jcnVkLWNyZWF0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUUvQyxPQUFPLEVBQThCLGdCQUFnQixFQUFFLG1CQUFtQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBS25JLE9BQU8sRUFBQyxtQ0FBbUMsRUFBMEMsTUFBTSwyQ0FBMkMsQ0FBQztBQUV2STs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FNbkMsSUFBc0IsRUFDdEIsT0FBa0MsRUFDbEMsV0FJQyxFQUNELE9BU1M7SUFFVCxNQUFNLE9BQU8sR0FBRyxJQUFJLGdCQUFnQixDQVFoQyxtQkFBbUIsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDLEVBQ2xILG1DQUFtQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsRUFDbEYsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUNuQixDQUFDO0lBQ0YsT0FBTyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbkIsT0FBTyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7QUFDM0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0b3IsIGluamVjdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Q2xhc3NUeXBlLCBTZXJ2aWNlQ2xhc3NUeXBlLCBUYWJsZXZpZXdCdWlsZGVyLCBUYWJsZXZpZXdEZXNjcmlwdG9yLCBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdH0gZnJvbSAnQG1lZGl1c2luYy9tbmctY29tbW9ucyc7XG5cbmltcG9ydCB7TWVkaXVzUXVlcnlSZXN1bHR9IGZyb20gJy4uL21vZGVscy9xdWVyeS1yZXN1bHQubW9kZWwnO1xuaW1wb3J0IHtJTW5nQ3J1ZE9ic29sZXRlVjFBcGlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9jcnVkLWFwaS5hYnN0cmFjdC5zZXJ2aWNlJztcbmltcG9ydCB7SU1uZ0dldEFsbE9ic29sZXRlVjFBcGlTZXJ2aWNlfSBmcm9tICcuLi9zZXJ2aWNlcy9nZXQtYWxsLWFwaS5hYnN0cmFjdC5zZXJ2aWNlJztcbmltcG9ydCB7VGFibGV2aWV3Q3J1ZE9ic29sZXRlVjFEYXRhUHJvdmlkZXIsIFRhYmxldmlld0NydWRPYnNvbGV0ZVYxRGF0YVByb3ZpZGVySW5zdH0gZnJvbSAnLi4vdGFibGV2aWV3L3RhYmxldmlldy1jcnVkLmRhdGEtcHJvdmlkZXInO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB0YWJsZXZpZXcgd2l0aCB0aGUgZ2l2ZW4gY2xhc3MsIHNlcnZpY2UgYmFzZWQgb24gZGF0YSBBUEkgdjEgKG9ic29sZXRlKSBhbmQgb3B0aW9uYWwgY2xhc3MvbW9kZWwgY29uZmlndXJhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge0NsYXNzVHlwZTxNb2RlbD59IHR5cGUgLSBUaGUgY2xhc3MgcmVwcmVzZW50aW5nIHRoZSBtb2RlbC5cbiAqIEBwYXJhbSB7U2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPn0gc2VydmljZSAtIFRoZSBjbGFzcyB0eXBlIG9mIHRoZSBzZXJ2aWNlIGltcGxlbWVudGluZyBgSU1uZ0NydWRPYnNvbGV0ZVYxQXBpU2VydmljZWAgYW5kIGBJTW5nR2V0QWxsT2Jzb2xldGVWMUFwaVNlcnZpY2VgLlxuICogQHBhcmFtIHt7IGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbDsgdGl0bGVQcm9wZXJ0eT86IGtleW9mIE1vZGVsOyBpMThuQmFzZUtleT86IENsYXNzVHlwZTxhbnk+IHwgc3RyaW5nOyB9fSBbbW9kZWxDb25maWddIC0gQWRkaXRpb25hbCBvcHRpb25hbCBtb2RlbCBjb25maWd1cmF0aW9uLlxuICogQHBhcmFtIHsoYnVpbGRlcjogVGFibGV2aWV3QnVpbGRlcikgPT4gdm9pZH0gW2J1aWxkRm5dIC0gVGhlIG9wdGlvbmFsIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIGN1c3RvbWl6ZSB0aGUgdGFibGV2aWV3IHVzaW5nIHRoZSBwcmVwYXJlZCBidWlsZGVyLlxuICpcbiAqIEByZXR1cm5zIHtUYWJsZXZpZXd9IC0gVGhlIGJ1aWx0IHRhYmxlIHZpZXcuXG4gKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhYmxldmlld0NydWRPYnNvbGV0ZVYxPFxuICAgIE1vZGVsLFxuICAgIFNlcnZpY2UgZXh0ZW5kcyBJTW5nQ3J1ZE9ic29sZXRlVjFBcGlTZXJ2aWNlPE1vZGVsPiAmIElNbmdHZXRBbGxPYnNvbGV0ZVYxQXBpU2VydmljZTxNZWRpdXNRdWVyeVJlc3VsdDxNb2RlbD4+LFxuICAgIFNvcnRzID0ga2V5b2YgTW9kZWwsXG4gICAgRmlsdGVycyBleHRlbmRzIGtleW9mIGFueSA9IGtleW9mIE1vZGVsXG4+KFxuICAgIHR5cGU6IENsYXNzVHlwZTxNb2RlbD4sXG4gICAgc2VydmljZTogU2VydmljZUNsYXNzVHlwZTxTZXJ2aWNlPixcbiAgICBtb2RlbENvbmZpZz86IHtcbiAgICAgICAgaWRQcm9wZXJ0eT86IGtleW9mIE1vZGVsO1xuICAgICAgICB0aXRsZVByb3BlcnR5Pzoga2V5b2YgTW9kZWw7XG4gICAgICAgIGkxOG5CYXNlS2V5PzogQ2xhc3NUeXBlPGFueT4gfCBzdHJpbmc7XG4gICAgfSxcbiAgICBidWlsZEZuPzogKFxuICAgICAgICBidWlsZGVyOiBUYWJsZXZpZXdCdWlsZGVyPFxuICAgICAgICAgICAgTW9kZWwsXG4gICAgICAgICAgICBTZXJ2aWNlLFxuICAgICAgICAgICAgVGFibGV2aWV3RGVzY3JpcHRvckluc3Q8TW9kZWwsIFNvcnRzLCBGaWx0ZXJzPixcbiAgICAgICAgICAgIFRhYmxldmlld0NydWRPYnNvbGV0ZVYxRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICAgICAgU29ydHMsXG4gICAgICAgICAgICBGaWx0ZXJzXG4gICAgICAgID5cbiAgICApID0+IHZvaWRcbikge1xuICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVGFibGV2aWV3QnVpbGRlcjxcbiAgICAgICAgTW9kZWwsXG4gICAgICAgIFNlcnZpY2UsXG4gICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3JJbnN0PE1vZGVsLCBTb3J0cywgRmlsdGVycz4sXG4gICAgICAgIFRhYmxldmlld0NydWRPYnNvbGV0ZVYxRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZSwgU29ydHMsIEZpbHRlcnM+LFxuICAgICAgICBTb3J0cyxcbiAgICAgICAgRmlsdGVyc1xuICAgID4oXG4gICAgICAgIFRhYmxldmlld0Rlc2NyaXB0b3IuZnJvbUNsYXNzKHR5cGUsIG1vZGVsQ29uZmlnPy5pZFByb3BlcnR5LCBtb2RlbENvbmZpZz8udGl0bGVQcm9wZXJ0eSwgbW9kZWxDb25maWc/LmkxOG5CYXNlS2V5KSxcbiAgICAgICAgVGFibGV2aWV3Q3J1ZE9ic29sZXRlVjFEYXRhUHJvdmlkZXIuY3JlYXRlKHR5cGUsIHNlcnZpY2UsIG1vZGVsQ29uZmlnPy5pZFByb3BlcnR5KSxcbiAgICAgICAgaW5qZWN0KEluamVjdG9yKVxuICAgICk7XG4gICAgYnVpbGRGbj8uKGJ1aWxkZXIpO1xuICAgIHJldHVybiBidWlsZGVyLmJ1aWxkKCk7XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// helpers
|
|
2
|
+
export * from './helpers/query-param-convert';
|
|
3
|
+
export * from './helpers/tableview-crud-create';
|
|
4
|
+
// models
|
|
5
|
+
export * from './models/builders/query-param.builder';
|
|
6
|
+
export * from './models/filter-match-type.model';
|
|
7
|
+
export * from './models/filter-param.model';
|
|
8
|
+
export * from './models/query-mode.model';
|
|
9
|
+
export * from './models/query-param.model';
|
|
10
|
+
export * from './models/query-result.model';
|
|
11
|
+
// services
|
|
12
|
+
export * from './services/api.abstract.service';
|
|
13
|
+
export * from './services/crud-api.abstract.service';
|
|
14
|
+
export * from './services/get-all-api.abstract.service';
|
|
15
|
+
// tableview
|
|
16
|
+
export * from './tableview/tableview-crud.data-provider';
|
|
17
|
+
// utils
|
|
18
|
+
export * from './utils/query-param-map.util';
|
|
19
|
+
// provider
|
|
20
|
+
export * from './provide';
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9kYXRhLWFwaS9jbGFzcy1kdG8vb2Jzb2xldGUvc3JjL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFVBQVU7QUFDVixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUNBQWlDLENBQUM7QUFFaEQsU0FBUztBQUNULGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDZCQUE2QixDQUFDO0FBRTVDLFdBQVc7QUFDWCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxZQUFZO0FBQ1osY0FBYywwQ0FBMEMsQ0FBQztBQUV6RCxRQUFRO0FBQ1IsY0FBYyw4QkFBOEIsQ0FBQztBQUU3QyxXQUFXO0FBQ1gsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBoZWxwZXJzXG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvcXVlcnktcGFyYW0tY29udmVydCc7XG5leHBvcnQgKiBmcm9tICcuL2hlbHBlcnMvdGFibGV2aWV3LWNydWQtY3JlYXRlJztcblxuLy8gbW9kZWxzXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9idWlsZGVycy9xdWVyeS1wYXJhbS5idWlsZGVyJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2ZpbHRlci1tYXRjaC10eXBlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2ZpbHRlci1wYXJhbS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9xdWVyeS1tb2RlLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3F1ZXJ5LXBhcmFtLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3F1ZXJ5LXJlc3VsdC5tb2RlbCc7XG5cbi8vIHNlcnZpY2VzXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2FwaS5hYnN0cmFjdC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvY3J1ZC1hcGkuYWJzdHJhY3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2dldC1hbGwtYXBpLmFic3RyYWN0LnNlcnZpY2UnO1xuXG4vLyB0YWJsZXZpZXdcbmV4cG9ydCAqIGZyb20gJy4vdGFibGV2aWV3L3RhYmxldmlldy1jcnVkLmRhdGEtcHJvdmlkZXInO1xuXG4vLyB1dGlsc1xuZXhwb3J0ICogZnJvbSAnLi91dGlscy9xdWVyeS1wYXJhbS1tYXAudXRpbCc7XG5cbi8vIHByb3ZpZGVyXG5leHBvcnQgKiBmcm9tICcuL3Byb3ZpZGUnO1xuIl19
|
package/esm2022/data-api/class-dto/obsolete/mediusinc-mng-commons-data-api-class-dto-obsolete.mjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLWR0by1vYnNvbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9vYnNvbGV0ZS9zcmMvbWVkaXVzaW5jLW1uZy1jb21tb25zLWRhdGEtYXBpLWNsYXNzLWR0by1vYnNvbGV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { MediusFilterMatchType } from '../filter-match-type.model';
|
|
2
|
+
import { MediusFilterParam } from '../filter-param.model';
|
|
3
|
+
import { MediusQueryMode } from '../query-mode.model';
|
|
4
|
+
import { MediusQueryParam } from '../query-param.model';
|
|
5
|
+
export class MediusQueryParamBuilder {
|
|
6
|
+
constructor(queryParam) {
|
|
7
|
+
this.queryParam = queryParam;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new instance of `MediusQueryParamBuilder` with the specified `itemsPerPage` and `itemsOffset` values.
|
|
11
|
+
*
|
|
12
|
+
* @param {number} [itemsPerPage=50] - The number of items per page.
|
|
13
|
+
* @param {number} [itemsOffset=0] - The offset value for the items.
|
|
14
|
+
*
|
|
15
|
+
* @returns {MediusQueryParamBuilder} A new instance of `MediusQueryParamBuilder`.
|
|
16
|
+
*
|
|
17
|
+
* @deprecated
|
|
18
|
+
*/
|
|
19
|
+
static create(itemsPerPage = 50, itemsOffset = 0) {
|
|
20
|
+
const queryParam = new MediusQueryParam();
|
|
21
|
+
queryParam.itemsPerPage = itemsPerPage;
|
|
22
|
+
queryParam.itemsOffset = itemsOffset;
|
|
23
|
+
queryParam.queryMode = MediusQueryMode.All;
|
|
24
|
+
return new MediusQueryParamBuilder(queryParam);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Creates a new instance of MediusQueryParamBuilder based on an existing MediusQueryParam object.
|
|
28
|
+
*
|
|
29
|
+
* @param {MediusQueryParam} queryParam - The existing MediusQueryParam object to create from.
|
|
30
|
+
* @param {number} [itemsPerPage] - The number of items per page for the new instance. If not provided, default value is used.
|
|
31
|
+
* @param {number} [itemsOffset] - The offset for the new instance. If not provided, default value is used.
|
|
32
|
+
*
|
|
33
|
+
* @returns {MediusQueryParamBuilder} - A new instance of MediusQueryParamBuilder.
|
|
34
|
+
*
|
|
35
|
+
* @deprecated
|
|
36
|
+
*/
|
|
37
|
+
static createFromExisting(queryParam, itemsPerPage, itemsOffset) {
|
|
38
|
+
queryParam.itemsPerPage = itemsPerPage ?? queryParam.itemsPerPage ?? 50;
|
|
39
|
+
queryParam.itemsOffset = itemsOffset ?? queryParam.itemsOffset ?? 0;
|
|
40
|
+
queryParam.queryMode = queryParam.queryMode ?? MediusQueryMode.All;
|
|
41
|
+
return new MediusQueryParamBuilder(queryParam);
|
|
42
|
+
}
|
|
43
|
+
withItemsPerPage(itemsPerPage) {
|
|
44
|
+
this.queryParam.itemsPerPage = itemsPerPage;
|
|
45
|
+
return this;
|
|
46
|
+
}
|
|
47
|
+
withItemsOffset(itemsOffset) {
|
|
48
|
+
this.queryParam.itemsOffset = itemsOffset;
|
|
49
|
+
return this;
|
|
50
|
+
}
|
|
51
|
+
withQueryMode(queryMode) {
|
|
52
|
+
this.queryParam.queryMode = queryMode;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
withSort(property, asc = true) {
|
|
56
|
+
if (!this.queryParam.sortProperty || !this.queryParam.sortAsc) {
|
|
57
|
+
this.queryParam.sortProperty = [];
|
|
58
|
+
this.queryParam.sortAsc = [];
|
|
59
|
+
}
|
|
60
|
+
this.queryParam.sortProperty.push(property);
|
|
61
|
+
this.queryParam.sortAsc.push(asc);
|
|
62
|
+
return this;
|
|
63
|
+
}
|
|
64
|
+
withFilter(property, value, valueTo = undefined, matchType = MediusFilterMatchType.Contains, matchCaseSensitive = false) {
|
|
65
|
+
if (!this.queryParam.filterParams) {
|
|
66
|
+
this.queryParam.filterParams = [];
|
|
67
|
+
}
|
|
68
|
+
const filterParam = new MediusFilterParam();
|
|
69
|
+
filterParam.property = property;
|
|
70
|
+
filterParam.filterValue = value;
|
|
71
|
+
filterParam.filterValueTo = valueTo;
|
|
72
|
+
filterParam.filterMatchType = matchType;
|
|
73
|
+
filterParam.filterMatchCaseSensitive = matchCaseSensitive;
|
|
74
|
+
this.queryParam.filterParams.push(filterParam);
|
|
75
|
+
return this;
|
|
76
|
+
}
|
|
77
|
+
build() {
|
|
78
|
+
const queryParam = this.queryParam;
|
|
79
|
+
this.queryParam = new MediusQueryParam();
|
|
80
|
+
return queryParam;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktcGFyYW0uYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2RhdGEtYXBpL2NsYXNzLWR0by9vYnNvbGV0ZS9zcmMvbW9kZWxzL2J1aWxkZXJzL3F1ZXJ5LXBhcmFtLmJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLHFCQUFxQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ3BELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRXRELE1BQU0sT0FBTyx1QkFBdUI7SUFDaEMsWUFBNEIsVUFBNEI7UUFBNUIsZUFBVSxHQUFWLFVBQVUsQ0FBa0I7SUFBRyxDQUFDO0lBRTVEOzs7Ozs7Ozs7T0FTRztJQUNJLE1BQU0sQ0FBQyxNQUFNLENBQUMsWUFBWSxHQUFHLEVBQUUsRUFBRSxXQUFXLEdBQUcsQ0FBQztRQUNuRCxNQUFNLFVBQVUsR0FBRyxJQUFJLGdCQUFnQixFQUFFLENBQUM7UUFDMUMsVUFBVSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDdkMsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDckMsVUFBVSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUMsR0FBRyxDQUFDO1FBQzNDLE9BQU8sSUFBSSx1QkFBdUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7T0FVRztJQUNJLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxVQUE0QixFQUFFLFlBQXFCLEVBQUUsV0FBb0I7UUFDdEcsVUFBVSxDQUFDLFlBQVksR0FBRyxZQUFZLElBQUksVUFBVSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDeEUsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLElBQUksVUFBVSxDQUFDLFdBQVcsSUFBSSxDQUFDLENBQUM7UUFDcEUsVUFBVSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsU0FBUyxJQUFJLGVBQWUsQ0FBQyxHQUFHLENBQUM7UUFDbkUsT0FBTyxJQUFJLHVCQUF1QixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxZQUFvQjtRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7UUFDNUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLGVBQWUsQ0FBQyxXQUFtQjtRQUN0QyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDMUMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLGFBQWEsQ0FBQyxTQUEwQjtRQUMzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDdEMsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVNLFFBQVEsQ0FBQyxRQUFnQixFQUFFLEdBQUcsR0FBRyxJQUFJO1FBQ3hDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFO1lBQzNELElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztZQUNsQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7U0FDaEM7UUFDRCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDNUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxVQUFVLENBQ2IsUUFBZ0IsRUFDaEIsS0FBVSxFQUNWLFVBQWUsU0FBUyxFQUN4QixZQUFtQyxxQkFBcUIsQ0FBQyxRQUFRLEVBQ2pFLGtCQUFrQixHQUFHLEtBQUs7UUFFMUIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUNyQztRQUNELE1BQU0sV0FBVyxHQUFHLElBQUksaUJBQWlCLEVBQUUsQ0FBQztRQUM1QyxXQUFXLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUNoQyxXQUFXLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUNoQyxXQUFXLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQztRQUNwQyxXQUFXLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQztRQUN4QyxXQUFXLENBQUMsd0JBQXdCLEdBQUcsa0JBQWtCLENBQUM7UUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQy9DLE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFTSxLQUFLO1FBQ1IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNuQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztRQUN6QyxPQUFPLFVBQVUsQ0FBQztJQUN0QixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01lZGl1c0ZpbHRlck1hdGNoVHlwZX0gZnJvbSAnLi4vZmlsdGVyLW1hdGNoLXR5cGUubW9kZWwnO1xuaW1wb3J0IHtNZWRpdXNGaWx0ZXJQYXJhbX0gZnJvbSAnLi4vZmlsdGVyLXBhcmFtLm1vZGVsJztcbmltcG9ydCB7TWVkaXVzUXVlcnlNb2RlfSBmcm9tICcuLi9xdWVyeS1tb2RlLm1vZGVsJztcbmltcG9ydCB7TWVkaXVzUXVlcnlQYXJhbX0gZnJvbSAnLi4vcXVlcnktcGFyYW0ubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIge1xuICAgIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSBxdWVyeVBhcmFtOiBNZWRpdXNRdWVyeVBhcmFtKSB7fVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiBgTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXJgIHdpdGggdGhlIHNwZWNpZmllZCBgaXRlbXNQZXJQYWdlYCBhbmQgYGl0ZW1zT2Zmc2V0YCB2YWx1ZXMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2l0ZW1zUGVyUGFnZT01MF0gLSBUaGUgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBbaXRlbXNPZmZzZXQ9MF0gLSBUaGUgb2Zmc2V0IHZhbHVlIGZvciB0aGUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyB7TWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXJ9IEEgbmV3IGluc3RhbmNlIG9mIGBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlcmAuXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBzdGF0aWMgY3JlYXRlKGl0ZW1zUGVyUGFnZSA9IDUwLCBpdGVtc09mZnNldCA9IDApOiBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW0gPSBuZXcgTWVkaXVzUXVlcnlQYXJhbSgpO1xuICAgICAgICBxdWVyeVBhcmFtLml0ZW1zUGVyUGFnZSA9IGl0ZW1zUGVyUGFnZTtcbiAgICAgICAgcXVlcnlQYXJhbS5pdGVtc09mZnNldCA9IGl0ZW1zT2Zmc2V0O1xuICAgICAgICBxdWVyeVBhcmFtLnF1ZXJ5TW9kZSA9IE1lZGl1c1F1ZXJ5TW9kZS5BbGw7XG4gICAgICAgIHJldHVybiBuZXcgTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIocXVlcnlQYXJhbSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciBiYXNlZCBvbiBhbiBleGlzdGluZyBNZWRpdXNRdWVyeVBhcmFtIG9iamVjdC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB7TWVkaXVzUXVlcnlQYXJhbX0gcXVlcnlQYXJhbSAtIFRoZSBleGlzdGluZyBNZWRpdXNRdWVyeVBhcmFtIG9iamVjdCB0byBjcmVhdGUgZnJvbS5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2l0ZW1zUGVyUGFnZV0gLSBUaGUgbnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGZvciB0aGUgbmV3IGluc3RhbmNlLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHQgdmFsdWUgaXMgdXNlZC5cbiAgICAgKiBAcGFyYW0ge251bWJlcn0gW2l0ZW1zT2Zmc2V0XSAtIFRoZSBvZmZzZXQgZm9yIHRoZSBuZXcgaW5zdGFuY2UuIElmIG5vdCBwcm92aWRlZCwgZGVmYXVsdCB2YWx1ZSBpcyB1c2VkLlxuICAgICAqXG4gICAgICogQHJldHVybnMge01lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyfSAtIEEgbmV3IGluc3RhbmNlIG9mIE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZUZyb21FeGlzdGluZyhxdWVyeVBhcmFtOiBNZWRpdXNRdWVyeVBhcmFtLCBpdGVtc1BlclBhZ2U/OiBudW1iZXIsIGl0ZW1zT2Zmc2V0PzogbnVtYmVyKTogTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIge1xuICAgICAgICBxdWVyeVBhcmFtLml0ZW1zUGVyUGFnZSA9IGl0ZW1zUGVyUGFnZSA/PyBxdWVyeVBhcmFtLml0ZW1zUGVyUGFnZSA/PyA1MDtcbiAgICAgICAgcXVlcnlQYXJhbS5pdGVtc09mZnNldCA9IGl0ZW1zT2Zmc2V0ID8/IHF1ZXJ5UGFyYW0uaXRlbXNPZmZzZXQgPz8gMDtcbiAgICAgICAgcXVlcnlQYXJhbS5xdWVyeU1vZGUgPSBxdWVyeVBhcmFtLnF1ZXJ5TW9kZSA/PyBNZWRpdXNRdWVyeU1vZGUuQWxsO1xuICAgICAgICByZXR1cm4gbmV3IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyKHF1ZXJ5UGFyYW0pO1xuICAgIH1cblxuICAgIHB1YmxpYyB3aXRoSXRlbXNQZXJQYWdlKGl0ZW1zUGVyUGFnZTogbnVtYmVyKTogTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIge1xuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW0uaXRlbXNQZXJQYWdlID0gaXRlbXNQZXJQYWdlO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEl0ZW1zT2Zmc2V0KGl0ZW1zT2Zmc2V0OiBudW1iZXIpOiBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciB7XG4gICAgICAgIHRoaXMucXVlcnlQYXJhbS5pdGVtc09mZnNldCA9IGl0ZW1zT2Zmc2V0O1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aFF1ZXJ5TW9kZShxdWVyeU1vZGU6IE1lZGl1c1F1ZXJ5TW9kZSk6IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyIHtcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtLnF1ZXJ5TW9kZSA9IHF1ZXJ5TW9kZTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIHdpdGhTb3J0KHByb3BlcnR5OiBzdHJpbmcsIGFzYyA9IHRydWUpOiBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciB7XG4gICAgICAgIGlmICghdGhpcy5xdWVyeVBhcmFtLnNvcnRQcm9wZXJ0eSB8fCAhdGhpcy5xdWVyeVBhcmFtLnNvcnRBc2MpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlQYXJhbS5zb3J0UHJvcGVydHkgPSBbXTtcbiAgICAgICAgICAgIHRoaXMucXVlcnlQYXJhbS5zb3J0QXNjID0gW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtLnNvcnRQcm9wZXJ0eS5wdXNoKHByb3BlcnR5KTtcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtLnNvcnRBc2MucHVzaChhc2MpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBwdWJsaWMgd2l0aEZpbHRlcihcbiAgICAgICAgcHJvcGVydHk6IHN0cmluZyxcbiAgICAgICAgdmFsdWU6IGFueSxcbiAgICAgICAgdmFsdWVUbzogYW55ID0gdW5kZWZpbmVkLFxuICAgICAgICBtYXRjaFR5cGU6IE1lZGl1c0ZpbHRlck1hdGNoVHlwZSA9IE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5Db250YWlucyxcbiAgICAgICAgbWF0Y2hDYXNlU2Vuc2l0aXZlID0gZmFsc2VcbiAgICApOiBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciB7XG4gICAgICAgIGlmICghdGhpcy5xdWVyeVBhcmFtLmZpbHRlclBhcmFtcykge1xuICAgICAgICAgICAgdGhpcy5xdWVyeVBhcmFtLmZpbHRlclBhcmFtcyA9IFtdO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbHRlclBhcmFtID0gbmV3IE1lZGl1c0ZpbHRlclBhcmFtKCk7XG4gICAgICAgIGZpbHRlclBhcmFtLnByb3BlcnR5ID0gcHJvcGVydHk7XG4gICAgICAgIGZpbHRlclBhcmFtLmZpbHRlclZhbHVlID0gdmFsdWU7XG4gICAgICAgIGZpbHRlclBhcmFtLmZpbHRlclZhbHVlVG8gPSB2YWx1ZVRvO1xuICAgICAgICBmaWx0ZXJQYXJhbS5maWx0ZXJNYXRjaFR5cGUgPSBtYXRjaFR5cGU7XG4gICAgICAgIGZpbHRlclBhcmFtLmZpbHRlck1hdGNoQ2FzZVNlbnNpdGl2ZSA9IG1hdGNoQ2FzZVNlbnNpdGl2ZTtcbiAgICAgICAgdGhpcy5xdWVyeVBhcmFtLmZpbHRlclBhcmFtcy5wdXNoKGZpbHRlclBhcmFtKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgcHVibGljIGJ1aWxkKCk6IE1lZGl1c1F1ZXJ5UGFyYW0ge1xuICAgICAgICBjb25zdCBxdWVyeVBhcmFtID0gdGhpcy5xdWVyeVBhcmFtO1xuICAgICAgICB0aGlzLnF1ZXJ5UGFyYW0gPSBuZXcgTWVkaXVzUXVlcnlQYXJhbSgpO1xuICAgICAgICByZXR1cm4gcXVlcnlQYXJhbTtcbiAgICB9XG59XG4iXX0=
|