@mediusinc/mng-commons 4.1.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
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
import { Directive, inject } from '@angular/core';
|
|
2
|
-
import { ActivatedRoute } from '@angular/router';
|
|
3
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
4
|
-
import { of, tap } from 'rxjs';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
import { MediusQueryParamBuilder } from '../../../api/models';
|
|
7
|
-
import { ActionButtonDescriptor, ActionDeleteDescriptorInst, ActionDescriptor, ActionEditorAddDescriptor, ActionEditorDetailsDescriptor, ActionEditorEditDescriptor, ActionEditorEditDescriptorInst, ActionLinkDescriptor } from '../../../descriptors/action';
|
|
8
|
-
import { ActionPositionEnum } from '../../../descriptors/types';
|
|
9
|
-
import { ButtonStyleRoundedEnum } from '../../../styles';
|
|
10
|
-
import { StyleLevelEnum, StyleSizeEnum } from '../../../styles/models';
|
|
11
|
-
import { ActionDataProviderUtil, ExportUtils, FileUtil } from '../../../utils';
|
|
12
|
-
import { MngDataLanguageDropdownComponent } from '../../action';
|
|
13
|
-
import { TableviewActionDefaultCategories } from '../../action/models';
|
|
14
|
-
import * as i0 from "@angular/core";
|
|
15
|
-
export class AMngTableviewRouteComponent {
|
|
16
|
-
constructor() {
|
|
17
|
-
this.route = inject(ActivatedRoute);
|
|
18
|
-
this.translateService = inject(TranslateService);
|
|
19
|
-
}
|
|
20
|
-
get routeData() {
|
|
21
|
-
return this.route.snapshot.data;
|
|
22
|
-
}
|
|
23
|
-
ngOnInit() {
|
|
24
|
-
this.descriptor = this.createTableviewDescriptor();
|
|
25
|
-
this.dataProvider = this.createTableviewDataProvider();
|
|
26
|
-
this.actions = this.createActionDescriptors();
|
|
27
|
-
}
|
|
28
|
-
createActionDescriptors() {
|
|
29
|
-
const editDescriptor = this.createActionDescriptorForEdit();
|
|
30
|
-
return [
|
|
31
|
-
this.createActionDescriptorForDetails(),
|
|
32
|
-
this.createActionDescriptorForAdd(),
|
|
33
|
-
editDescriptor,
|
|
34
|
-
this.createActionDescriptorForDelete(),
|
|
35
|
-
this.createActionDescriptorForRefresh(),
|
|
36
|
-
this.createActionDescriptorForExport(),
|
|
37
|
-
this.createActionDescriptorForDataTranslate(),
|
|
38
|
-
//details actions
|
|
39
|
-
this.createActionDescriptorForDetailsEditLink(this.descriptor.model, editDescriptor),
|
|
40
|
-
this.createActionDescriptorForDetailsDelete()
|
|
41
|
-
].filter(e => e != null);
|
|
42
|
-
}
|
|
43
|
-
createActionDescriptorForDetails(descriptor = this.descriptor.detailsEditor) {
|
|
44
|
-
return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasDetails ? ActionEditorDetailsDescriptor.create(descriptor) : null;
|
|
45
|
-
}
|
|
46
|
-
createActionDescriptorForAdd(descriptor = this.descriptor.addEditor) {
|
|
47
|
-
return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasAdd ? ActionEditorAddDescriptor.create(descriptor) : null;
|
|
48
|
-
}
|
|
49
|
-
createActionDescriptorForEdit(descriptor = this.descriptor.editEditor) {
|
|
50
|
-
return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasEdit ? ActionEditorEditDescriptor.create(descriptor) : null;
|
|
51
|
-
}
|
|
52
|
-
createActionDescriptorForDetailsEditLink(descriptor = this.descriptor.model, editDescriptor) {
|
|
53
|
-
if (!this.routeData.tableviewActions || this.routeData.tableviewActions.hasEdit) {
|
|
54
|
-
const action = editDescriptor
|
|
55
|
-
? ActionLinkDescriptor.fromAction(editDescriptor)
|
|
56
|
-
: ActionLinkDescriptor.fromModel(descriptor, ActionEditorEditDescriptorInst.ACTION_NAME);
|
|
57
|
-
action
|
|
58
|
-
.withTableviewCategory(TableviewActionDefaultCategories.EDIT)
|
|
59
|
-
.withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])
|
|
60
|
-
.withPosition(ActionPositionEnum.FooterLeft)
|
|
61
|
-
.withRouterLink('./edit');
|
|
62
|
-
action.button.styleClass.withActionLevel(StyleLevelEnum.Secondary);
|
|
63
|
-
action.button.styleClass.withSize(StyleSizeEnum.Normal);
|
|
64
|
-
action.button.styleClass.withRoundedButton(ButtonStyleRoundedEnum.DEFAULT);
|
|
65
|
-
action.button.withLabel();
|
|
66
|
-
if (!editDescriptor)
|
|
67
|
-
action.button.withIcon('pi pi-pencil');
|
|
68
|
-
return action;
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
createActionDescriptorForDetailsDelete() {
|
|
73
|
-
const action = this.createActionDescriptorForDelete();
|
|
74
|
-
if (action) {
|
|
75
|
-
action
|
|
76
|
-
.withTableviewCategory(TableviewActionDefaultCategories.DELETE)
|
|
77
|
-
.withPositionTableviewCategories([TableviewActionDefaultCategories.DETAILS])
|
|
78
|
-
.withPosition(ActionPositionEnum.FooterLeft)
|
|
79
|
-
.withRunFunction(ctx => ActionDataProviderUtil.runDeleteOrFail(ctx).pipe(tap(() => {
|
|
80
|
-
ctx.viewContainer?.reloadTable({});
|
|
81
|
-
ctx.viewContainer?.closeEditor();
|
|
82
|
-
})));
|
|
83
|
-
action.button.withLabel(undefined);
|
|
84
|
-
action.button.styleClass.withSize(StyleSizeEnum.Normal);
|
|
85
|
-
return action;
|
|
86
|
-
}
|
|
87
|
-
return null;
|
|
88
|
-
}
|
|
89
|
-
createActionDescriptorForDelete(descriptor = this.descriptor.model) {
|
|
90
|
-
return !this.routeData.tableviewActions || this.routeData.tableviewActions.hasDelete ? new ActionDeleteDescriptorInst(descriptor) : null;
|
|
91
|
-
}
|
|
92
|
-
createActionDescriptorForExport(descriptor = this.descriptor.model) {
|
|
93
|
-
const exportAction = ActionDescriptor.fromModel(descriptor, 'export').withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-download')).withSubactionsAsMenu();
|
|
94
|
-
exportAction.withSubactions(this.createActionDescriptorForExportJson(descriptor), this.createActionDescriptorForExportCsv(descriptor));
|
|
95
|
-
return exportAction;
|
|
96
|
-
}
|
|
97
|
-
createActionDescriptorForExportJson(descriptor = this.descriptor.model) {
|
|
98
|
-
return ActionDescriptor.fromModel(descriptor, 'exportJson')
|
|
99
|
-
.withRunFunction(ctx => {
|
|
100
|
-
const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();
|
|
101
|
-
queryParamBuilder.withItemsOffset(0).withItemsPerPage(500);
|
|
102
|
-
ctx.parameters.withQueryParam(queryParamBuilder.build());
|
|
103
|
-
return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => {
|
|
104
|
-
const blob = new Blob([JSON.stringify(res.pageData, undefined, 4)], { type: 'application/json;charset=utf-8' });
|
|
105
|
-
const typeName = ctx.instance.action.model?.typeName ?? '';
|
|
106
|
-
FileUtil.saveAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.json`);
|
|
107
|
-
return undefined;
|
|
108
|
-
}));
|
|
109
|
-
})
|
|
110
|
-
.withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-code'))
|
|
111
|
-
.withPosition(ActionPositionEnum.ToolbarRight);
|
|
112
|
-
}
|
|
113
|
-
createActionDescriptorForExportCsv(descriptor = this.descriptor.model) {
|
|
114
|
-
return ActionDescriptor.fromModel(descriptor, 'exportCsv')
|
|
115
|
-
.withRunFunction(ctx => {
|
|
116
|
-
const queryParamBuilder = ctx.parameters.queryParam ? MediusQueryParamBuilder.createFromExisting(ctx.parameters.queryParam) : MediusQueryParamBuilder.create();
|
|
117
|
-
queryParamBuilder.withItemsOffset(0).withItemsPerPage(500);
|
|
118
|
-
ctx.parameters.withQueryParam(queryParamBuilder.build());
|
|
119
|
-
return ActionDataProviderUtil.runGetAllOrFail(ctx).pipe(map(res => {
|
|
120
|
-
if (!res.pageData) {
|
|
121
|
-
return undefined;
|
|
122
|
-
}
|
|
123
|
-
const blob = new Blob([ExportUtils.prepareDataForExport(res.pageData, ',', this.descriptor, this.translateService)], { type: 'text/csv;charset=utf-8' });
|
|
124
|
-
const typeName = ctx.instance.action.model?.typeName ?? '';
|
|
125
|
-
FileUtil.saveAs(blob, `${typeName ? typeName + '_' : ''}${ctx.instance.action.actionName}.csv`);
|
|
126
|
-
return undefined;
|
|
127
|
-
}));
|
|
128
|
-
})
|
|
129
|
-
.withButtonDescriptor(new ActionButtonDescriptor().withIcon('pi pi-file'))
|
|
130
|
-
.withPosition(ActionPositionEnum.ToolbarRight);
|
|
131
|
-
}
|
|
132
|
-
createActionDescriptorForRefresh(descriptor = this.descriptor.model) {
|
|
133
|
-
const action = ActionDescriptor.fromModel(descriptor, 'refresh')
|
|
134
|
-
.withPosition(ActionPositionEnum.ToolbarRight)
|
|
135
|
-
.withTableviewCategory(TableviewActionDefaultCategories.READ)
|
|
136
|
-
.withRunNotificationSuccess(undefined, undefined, false)
|
|
137
|
-
.withRunFunction(ctx => {
|
|
138
|
-
ctx.viewContainer?.reloadTable({});
|
|
139
|
-
return of(null);
|
|
140
|
-
});
|
|
141
|
-
action.button.withIcon('pi pi-refresh').styleClass.withActionLevel(StyleLevelEnum.Secondary);
|
|
142
|
-
return action;
|
|
143
|
-
}
|
|
144
|
-
createActionDescriptorForDataTranslate(descriptor = this.descriptor.model) {
|
|
145
|
-
return this.descriptor.isLocalized()
|
|
146
|
-
? ActionDescriptor.fromModel(descriptor, 'translator').withPosition(ActionPositionEnum.ToolbarLeft).withComponent(MngDataLanguageDropdownComponent)
|
|
147
|
-
: null;
|
|
148
|
-
}
|
|
149
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AMngTableviewRouteComponent, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
150
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.2.1", type: AMngTableviewRouteComponent, isStandalone: true, ngImport: i0 }); }
|
|
151
|
-
}
|
|
152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.1", ngImport: i0, type: AMngTableviewRouteComponent, decorators: [{
|
|
153
|
-
type: Directive,
|
|
154
|
-
args: [{
|
|
155
|
-
standalone: true
|
|
156
|
-
}]
|
|
157
|
-
}] });
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9saWIvY29tcG9uZW50cy90YWJsZXZpZXcvcm91dGUvdGFibGV2aWV3LXJvdXRlLmFic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN4RCxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFFL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRW5DLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBRTVELE9BQU8sRUFDSCxzQkFBc0IsRUFDdEIsMEJBQTBCLEVBQzFCLGdCQUFnQixFQUVoQix5QkFBeUIsRUFFekIsNkJBQTZCLEVBRTdCLDBCQUEwQixFQUMxQiw4QkFBOEIsRUFDOUIsb0JBQW9CLEVBRXZCLE1BQU0sNkJBQTZCLENBQUM7QUFJckMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFFOUQsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLGNBQWMsRUFBRSxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRSxPQUFPLEVBQUMsc0JBQXNCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQzdFLE9BQU8sRUFBQyxnQ0FBZ0MsRUFBQyxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUMsZ0NBQWdDLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFLckUsTUFBTSxPQUFnQiwyQkFBMkI7SUFIakQ7UUFJdUIsVUFBSyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMvQixxQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztLQXdLbEU7SUFsS0csSUFBYyxTQUFTO1FBQ25CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBcUIsQ0FBQztJQUNyRCxDQUFDO0lBRU0sUUFBUTtRQUNYLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixFQUFFLENBQUM7UUFDbkQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUN2RCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyx1QkFBdUIsRUFBRSxDQUFDO0lBQ2xELENBQUM7SUFNUyx1QkFBdUI7UUFDN0IsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLDZCQUE2QixFQUFFLENBQUM7UUFDNUQsT0FBTztZQUNILElBQUksQ0FBQyxnQ0FBZ0MsRUFBRTtZQUN2QyxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDbkMsY0FBYztZQUNkLElBQUksQ0FBQywrQkFBK0IsRUFBRTtZQUN0QyxJQUFJLENBQUMsZ0NBQWdDLEVBQUU7WUFDdkMsSUFBSSxDQUFDLCtCQUErQixFQUFFO1lBQ3RDLElBQUksQ0FBQyxzQ0FBc0MsRUFBRTtZQUU3QyxpQkFBaUI7WUFDakIsSUFBSSxDQUFDLHdDQUF3QyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLGNBQWMsQ0FBQztZQUNwRixJQUFJLENBQUMsc0NBQXNDLEVBQUU7U0FDaEQsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFxQyxDQUFDO0lBQ2pFLENBQUM7SUFFUyxnQ0FBZ0MsQ0FBQyxhQUFzQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWE7UUFDMUcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3BKLENBQUM7SUFFUyw0QkFBNEIsQ0FBQyxhQUFzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVM7UUFDbEcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVJLENBQUM7SUFFUyw2QkFBNkIsQ0FBQyxhQUFzQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVU7UUFDcEcsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzlJLENBQUM7SUFFUyx3Q0FBd0MsQ0FDOUMsYUFBaUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQ3RELGNBQXdEO1FBRXhELElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxFQUFFO1lBQzdFLE1BQU0sTUFBTSxHQUFHLGNBQWM7Z0JBQ3pCLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO2dCQUNqRCxDQUFDLENBQUMsb0JBQW9CLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSw4QkFBOEIsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUU3RixNQUFNO2lCQUNELHFCQUFxQixDQUFDLGdDQUFnQyxDQUFDLElBQUksQ0FBQztpQkFDNUQsK0JBQStCLENBQUMsQ0FBQyxnQ0FBZ0MsQ0FBQyxPQUFPLENBQUMsQ0FBQztpQkFDM0UsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQztpQkFDM0MsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN4RCxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMzRSxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxjQUFjO2dCQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1lBRTVELE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVTLHNDQUFzQztRQUM1QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsK0JBQStCLEVBQUUsQ0FBQztRQUN0RCxJQUFJLE1BQU0sRUFBRTtZQUNSLE1BQU07aUJBQ0QscUJBQXFCLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxDQUFDO2lCQUM5RCwrQkFBK0IsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2lCQUMzRSxZQUFZLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDO2lCQUMzQyxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FDbkIsc0JBQXNCLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDTCxHQUFHLENBQUMsYUFBYSxFQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDbkMsR0FBRyxDQUFDLGFBQWEsRUFBRSxXQUFXLEVBQUUsQ0FBQztZQUNyQyxDQUFDLENBQUMsQ0FDTCxDQUNKLENBQUM7WUFDTixNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNuQyxNQUFNLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXhELE9BQU8sTUFBTSxDQUFDO1NBQ2pCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQztJQUVTLCtCQUErQixDQUFDLGFBQWlDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztRQUM1RixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzdJLENBQUM7SUFFUywrQkFBK0IsQ0FBQyxhQUFpQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7UUFDNUYsTUFBTSxZQUFZLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLHNCQUFzQixFQUFFLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQzNLLFlBQVksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLFVBQVUsQ0FBQyxFQUFFLElBQUksQ0FBQyxrQ0FBa0MsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3ZJLE9BQU8sWUFBWSxDQUFDO0lBQ3hCLENBQUM7SUFFUyxtQ0FBbUMsQ0FBQyxhQUFpQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7UUFDaEcsT0FBTyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQzthQUN0RCxlQUFlLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDbkIsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0osaUJBQWlCLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzNELEdBQUcsQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDekQsT0FBTyxzQkFBc0IsQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUU7Z0JBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBQyxJQUFJLEVBQUUsZ0NBQWdDLEVBQUMsQ0FBQyxDQUFDO2dCQUM5RyxNQUFNLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxJQUFJLEVBQUUsQ0FBQztnQkFDM0QsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLE9BQU8sQ0FBQyxDQUFDO2dCQUNqRyxPQUFPLFNBQVMsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FDTCxDQUFDO1FBQ04sQ0FBQyxDQUFDO2FBQ0Qsb0JBQW9CLENBQUMsSUFBSSxzQkFBc0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN6RSxZQUFZLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdkQsQ0FBQztJQUVTLGtDQUFrQyxDQUFDLGFBQWlDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztRQUMvRixPQUFPLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsV0FBVyxDQUFDO2FBQ3JELGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNuQixNQUFNLGlCQUFpQixHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyx1QkFBdUIsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvSixpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0QsR0FBRyxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN6RCxPQUFPLHNCQUFzQixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDTixJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRTtvQkFDZixPQUFPLFNBQVMsQ0FBQztpQkFDcEI7Z0JBQ0QsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxXQUFXLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUMsSUFBSSxFQUFFLHdCQUF3QixFQUFDLENBQUMsQ0FBQztnQkFDdkosTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLFFBQVEsSUFBSSxFQUFFLENBQUM7Z0JBQzNELFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsVUFBVSxNQUFNLENBQUMsQ0FBQztnQkFDaEcsT0FBTyxTQUFTLENBQUM7WUFDckIsQ0FBQyxDQUFDLENBQ0wsQ0FBQztRQUNOLENBQUMsQ0FBQzthQUNELG9CQUFvQixDQUFDLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDekUsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFUyxnQ0FBZ0MsQ0FBQyxhQUFpQyxJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUs7UUFDN0YsTUFBTSxNQUFNLEdBQUcsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7YUFDM0QsWUFBWSxDQUFDLGtCQUFrQixDQUFDLFlBQVksQ0FBQzthQUM3QyxxQkFBcUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxJQUFJLENBQUM7YUFDNUQsMEJBQTBCLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLENBQUM7YUFDdkQsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ25CLEdBQUcsQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ25DLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO1FBQ1AsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0YsT0FBTyxNQUFNLENBQUM7SUFDbEIsQ0FBQztJQUVTLHNDQUFzQyxDQUFDLGFBQWlDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztRQUNuRyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFO1lBQ2hDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQyxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxhQUFhLENBQUMsZ0NBQWdDLENBQUM7WUFDbkosQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNmLENBQUM7OEdBektpQiwyQkFBMkI7a0dBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFIaEQsU0FBUzttQkFBQztvQkFDUCxVQUFVLEVBQUUsSUFBSTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RpcmVjdGl2ZSwgT25Jbml0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtBY3RpdmF0ZWRSb3V0ZX0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHtUcmFuc2xhdGVTZXJ2aWNlfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7b2YsIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge21hcH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQge01lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyfSBmcm9tICcuLi8uLi8uLi9hcGkvbW9kZWxzJztcbmltcG9ydCB7SVRhYmxldmlld0RhdGFQcm92aWRlcn0gZnJvbSAnLi4vLi4vLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHtcbiAgICBBY3Rpb25CdXR0b25EZXNjcmlwdG9yLFxuICAgIEFjdGlvbkRlbGV0ZURlc2NyaXB0b3JJbnN0LFxuICAgIEFjdGlvbkRlc2NyaXB0b3IsXG4gICAgQWN0aW9uRGVzY3JpcHRvckluc3QsXG4gICAgQWN0aW9uRWRpdG9yQWRkRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JBZGREZXNjcmlwdG9ySW5zdCxcbiAgICBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvcixcbiAgICBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvckluc3QsXG4gICAgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IsXG4gICAgQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3JJbnN0LFxuICAgIEFjdGlvbkxpbmtEZXNjcmlwdG9yLFxuICAgIEFjdGlvbkxpbmtEZXNjcmlwdG9ySW5zdFxufSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy9hY3Rpb24nO1xuaW1wb3J0IHtFZGl0b3JEZXNjcmlwdG9ySW5zdH0gZnJvbSAnLi4vLi4vLi4vZGVzY3JpcHRvcnMvZWRpdG9yJztcbmltcG9ydCB7TW9kZWxEZXNjcmlwdG9yfSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy9tb2RlbCc7XG5pbXBvcnQge1RhYmxldmlld0Rlc2NyaXB0b3JJbnN0fSBmcm9tICcuLi8uLi8uLi9kZXNjcmlwdG9ycy90YWJsZXZpZXcnO1xuaW1wb3J0IHtBY3Rpb25Qb3NpdGlvbkVudW19IGZyb20gJy4uLy4uLy4uL2Rlc2NyaXB0b3JzL3R5cGVzJztcbmltcG9ydCB7TW5nUm91dGVyRGF0YX0gZnJvbSAnLi4vLi4vLi4vcm91dGVyL21vZGVscyc7XG5pbXBvcnQge0J1dHRvblN0eWxlUm91bmRlZEVudW19IGZyb20gJy4uLy4uLy4uL3N0eWxlcyc7XG5pbXBvcnQge1N0eWxlTGV2ZWxFbnVtLCBTdHlsZVNpemVFbnVtfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvbW9kZWxzJztcbmltcG9ydCB7QWN0aW9uRGF0YVByb3ZpZGVyVXRpbCwgRXhwb3J0VXRpbHMsIEZpbGVVdGlsfSBmcm9tICcuLi8uLi8uLi91dGlscyc7XG5pbXBvcnQge01uZ0RhdGFMYW5ndWFnZURyb3Bkb3duQ29tcG9uZW50fSBmcm9tICcuLi8uLi9hY3Rpb24nO1xuaW1wb3J0IHtUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllc30gZnJvbSAnLi4vLi4vYWN0aW9uL21vZGVscyc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQU1uZ1RhYmxldmlld1JvdXRlQ29tcG9uZW50PFQgPSBhbnksIFMgPSB1bmRlZmluZWQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgcm91dGUgPSBpbmplY3QoQWN0aXZhdGVkUm91dGUpO1xuICAgIHByb3RlY3RlZCByZWFkb25seSB0cmFuc2xhdGVTZXJ2aWNlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gICAgcHVibGljIGRlc2NyaXB0b3IhOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxUPjtcbiAgICBwdWJsaWMgZGF0YVByb3ZpZGVyITogSVRhYmxldmlld0RhdGFQcm92aWRlcjxULCBTPjtcbiAgICBwdWJsaWMgYWN0aW9ucyE6IEFycmF5PEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueT4+OyAvLyBhbnkgYmVjYXVzZSB3ZSBhbGxvdyBhbG1vc3QgYW55dGhpbmcgaGVyZVxuXG4gICAgcHJvdGVjdGVkIGdldCByb3V0ZURhdGEoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlLnNuYXBzaG90LmRhdGEgYXMgTW5nUm91dGVyRGF0YTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRvciA9IHRoaXMuY3JlYXRlVGFibGV2aWV3RGVzY3JpcHRvcigpO1xuICAgICAgICB0aGlzLmRhdGFQcm92aWRlciA9IHRoaXMuY3JlYXRlVGFibGV2aWV3RGF0YVByb3ZpZGVyKCk7XG4gICAgICAgIHRoaXMuYWN0aW9ucyA9IHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvcnMoKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlVGFibGV2aWV3RGVzY3JpcHRvcigpOiBUYWJsZXZpZXdEZXNjcmlwdG9ySW5zdDxUPjtcblxuICAgIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVUYWJsZXZpZXdEYXRhUHJvdmlkZXIoKTogSVRhYmxldmlld0RhdGFQcm92aWRlcjxULCBTPjtcblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9ycygpOiBBcnJheTxBY3Rpb25EZXNjcmlwdG9ySW5zdDxhbnk+PiB7XG4gICAgICAgIGNvbnN0IGVkaXREZXNjcmlwdG9yID0gdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRWRpdCgpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscygpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yQWRkKCksXG4gICAgICAgICAgICBlZGl0RGVzY3JpcHRvcixcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRlbGV0ZSgpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yUmVmcmVzaCgpLFxuICAgICAgICAgICAgdGhpcy5jcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0KCksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEYXRhVHJhbnNsYXRlKCksXG5cbiAgICAgICAgICAgIC8vZGV0YWlscyBhY3Rpb25zXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZXRhaWxzRWRpdExpbmsodGhpcy5kZXNjcmlwdG9yLm1vZGVsLCBlZGl0RGVzY3JpcHRvciksXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZXRhaWxzRGVsZXRlKClcbiAgICAgICAgXS5maWx0ZXIoZSA9PiBlICE9IG51bGwpIGFzIEFycmF5PEFjdGlvbkRlc2NyaXB0b3JJbnN0PGFueT4+O1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlscyhkZXNjcmlwdG9yOiBFZGl0b3JEZXNjcmlwdG9ySW5zdDxUPiA9IHRoaXMuZGVzY3JpcHRvci5kZXRhaWxzRWRpdG9yKTogQWN0aW9uRWRpdG9yRGV0YWlsc0Rlc2NyaXB0b3JJbnN0PFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0RldGFpbHMgPyBBY3Rpb25FZGl0b3JEZXRhaWxzRGVzY3JpcHRvci5jcmVhdGUoZGVzY3JpcHRvcikgOiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yQWRkKGRlc2NyaXB0b3I6IEVkaXRvckRlc2NyaXB0b3JJbnN0PFQ+ID0gdGhpcy5kZXNjcmlwdG9yLmFkZEVkaXRvcik6IEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3JJbnN0PFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0FkZCA/IEFjdGlvbkVkaXRvckFkZERlc2NyaXB0b3IuY3JlYXRlKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckVkaXQoZGVzY3JpcHRvcjogRWRpdG9yRGVzY3JpcHRvckluc3Q8VD4gPSB0aGlzLmRlc2NyaXB0b3IuZWRpdEVkaXRvcik6IEFjdGlvbkVkaXRvckVkaXREZXNjcmlwdG9ySW5zdDxUPiB8IG51bGwge1xuICAgICAgICByZXR1cm4gIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNFZGl0ID8gQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3IuY3JlYXRlKGRlc2NyaXB0b3IpIDogbnVsbDtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgY3JlYXRlQWN0aW9uRGVzY3JpcHRvckZvckRldGFpbHNFZGl0TGluayhcbiAgICAgICAgZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsLFxuICAgICAgICBlZGl0RGVzY3JpcHRvcjogQWN0aW9uRWRpdG9yRWRpdERlc2NyaXB0b3JJbnN0PFQ+IHwgbnVsbFxuICAgICk6IEFjdGlvbkxpbmtEZXNjcmlwdG9ySW5zdDxUPiB8IG51bGwge1xuICAgICAgICBpZiAoIXRoaXMucm91dGVEYXRhLnRhYmxldmlld0FjdGlvbnMgfHwgdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucy5oYXNFZGl0KSB7XG4gICAgICAgICAgICBjb25zdCBhY3Rpb24gPSBlZGl0RGVzY3JpcHRvclxuICAgICAgICAgICAgICAgID8gQWN0aW9uTGlua0Rlc2NyaXB0b3IuZnJvbUFjdGlvbihlZGl0RGVzY3JpcHRvcilcbiAgICAgICAgICAgICAgICA6IEFjdGlvbkxpbmtEZXNjcmlwdG9yLmZyb21Nb2RlbChkZXNjcmlwdG9yLCBBY3Rpb25FZGl0b3JFZGl0RGVzY3JpcHRvckluc3QuQUNUSU9OX05BTUUpO1xuXG4gICAgICAgICAgICBhY3Rpb25cbiAgICAgICAgICAgICAgICAud2l0aFRhYmxldmlld0NhdGVnb3J5KFRhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkVESVQpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvblRhYmxldmlld0NhdGVnb3JpZXMoW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFVEFJTFNdKVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLkZvb3RlckxlZnQpXG4gICAgICAgICAgICAgICAgLndpdGhSb3V0ZXJMaW5rKCcuL2VkaXQnKTtcbiAgICAgICAgICAgIGFjdGlvbi5idXR0b24uc3R5bGVDbGFzcy53aXRoQWN0aW9uTGV2ZWwoU3R5bGVMZXZlbEVudW0uU2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGFjdGlvbi5idXR0b24uc3R5bGVDbGFzcy53aXRoU2l6ZShTdHlsZVNpemVFbnVtLk5vcm1hbCk7XG4gICAgICAgICAgICBhY3Rpb24uYnV0dG9uLnN0eWxlQ2xhc3Mud2l0aFJvdW5kZWRCdXR0b24oQnV0dG9uU3R5bGVSb3VuZGVkRW51bS5ERUZBVUxUKTtcbiAgICAgICAgICAgIGFjdGlvbi5idXR0b24ud2l0aExhYmVsKCk7XG4gICAgICAgICAgICBpZiAoIWVkaXREZXNjcmlwdG9yKSBhY3Rpb24uYnV0dG9uLndpdGhJY29uKCdwaSBwaS1wZW5jaWwnKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGV0YWlsc0RlbGV0ZSgpOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxUPiB8IG51bGwge1xuICAgICAgICBjb25zdCBhY3Rpb24gPSB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEZWxldGUoKTtcbiAgICAgICAgaWYgKGFjdGlvbikge1xuICAgICAgICAgICAgYWN0aW9uXG4gICAgICAgICAgICAgICAgLndpdGhUYWJsZXZpZXdDYXRlZ29yeShUYWJsZXZpZXdBY3Rpb25EZWZhdWx0Q2F0ZWdvcmllcy5ERUxFVEUpXG4gICAgICAgICAgICAgICAgLndpdGhQb3NpdGlvblRhYmxldmlld0NhdGVnb3JpZXMoW1RhYmxldmlld0FjdGlvbkRlZmF1bHRDYXRlZ29yaWVzLkRFVEFJTFNdKVxuICAgICAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLkZvb3RlckxlZnQpXG4gICAgICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbihjdHggPT5cbiAgICAgICAgICAgICAgICAgICAgQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5EZWxldGVPckZhaWwoY3R4KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdHgudmlld0NvbnRhaW5lcj8ucmVsb2FkVGFibGUoe30pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC52aWV3Q29udGFpbmVyPy5jbG9zZUVkaXRvcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICBhY3Rpb24uYnV0dG9uLndpdGhMYWJlbCh1bmRlZmluZWQpO1xuICAgICAgICAgICAgYWN0aW9uLmJ1dHRvbi5zdHlsZUNsYXNzLndpdGhTaXplKFN0eWxlU2l6ZUVudW0uTm9ybWFsKTtcblxuICAgICAgICAgICAgcmV0dXJuIGFjdGlvbjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRGVsZXRlKGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlbGV0ZURlc2NyaXB0b3JJbnN0PFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy5yb3V0ZURhdGEudGFibGV2aWV3QWN0aW9ucyB8fCB0aGlzLnJvdXRlRGF0YS50YWJsZXZpZXdBY3Rpb25zLmhhc0RlbGV0ZSA/IG5ldyBBY3Rpb25EZWxldGVEZXNjcmlwdG9ySW5zdChkZXNjcmlwdG9yKSA6IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFeHBvcnQoZGVzY3JpcHRvcjogTW9kZWxEZXNjcmlwdG9yPFQ+ID0gdGhpcy5kZXNjcmlwdG9yLm1vZGVsKTogQWN0aW9uRGVzY3JpcHRvckluc3Q8VD4gfCBudWxsIHtcbiAgICAgICAgY29uc3QgZXhwb3J0QWN0aW9uID0gQWN0aW9uRGVzY3JpcHRvci5mcm9tTW9kZWwoZGVzY3JpcHRvciwgJ2V4cG9ydCcpLndpdGhCdXR0b25EZXNjcmlwdG9yKG5ldyBBY3Rpb25CdXR0b25EZXNjcmlwdG9yKCkud2l0aEljb24oJ3BpIHBpLWRvd25sb2FkJykpLndpdGhTdWJhY3Rpb25zQXNNZW51KCk7XG4gICAgICAgIGV4cG9ydEFjdGlvbi53aXRoU3ViYWN0aW9ucyh0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFeHBvcnRKc29uKGRlc2NyaXB0b3IpLCB0aGlzLmNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JFeHBvcnRDc3YoZGVzY3JpcHRvcikpO1xuICAgICAgICByZXR1cm4gZXhwb3J0QWN0aW9uO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0SnNvbihkZXNjcmlwdG9yOiBNb2RlbERlc2NyaXB0b3I8VD4gPSB0aGlzLmRlc2NyaXB0b3IubW9kZWwpOiBBY3Rpb25EZXNjcmlwdG9ySW5zdDxUPiB7XG4gICAgICAgIHJldHVybiBBY3Rpb25EZXNjcmlwdG9yLmZyb21Nb2RlbChkZXNjcmlwdG9yLCAnZXhwb3J0SnNvbicpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbUJ1aWxkZXIgPSBjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtID8gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlRnJvbUV4aXN0aW5nKGN0eC5wYXJhbWV0ZXJzLnF1ZXJ5UGFyYW0pIDogTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKCk7XG4gICAgICAgICAgICAgICAgcXVlcnlQYXJhbUJ1aWxkZXIud2l0aEl0ZW1zT2Zmc2V0KDApLndpdGhJdGVtc1BlclBhZ2UoNTAwKTtcbiAgICAgICAgICAgICAgICBjdHgucGFyYW1ldGVycy53aXRoUXVlcnlQYXJhbShxdWVyeVBhcmFtQnVpbGRlci5idWlsZCgpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5HZXRBbGxPckZhaWwoY3R4KS5waXBlKFxuICAgICAgICAgICAgICAgICAgICBtYXAocmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkocmVzLnBhZ2VEYXRhLCB1bmRlZmluZWQsIDQpXSwge3R5cGU6ICdhcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTgnfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGN0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lID8/ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVV0aWwuc2F2ZUFzKGJsb2IsIGAke3R5cGVOYW1lID8gdHlwZU5hbWUgKyAnXycgOiAnJ30ke2N0eC5pbnN0YW5jZS5hY3Rpb24uYWN0aW9uTmFtZX0uanNvbmApO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC53aXRoQnV0dG9uRGVzY3JpcHRvcihuZXcgQWN0aW9uQnV0dG9uRGVzY3JpcHRvcigpLndpdGhJY29uKCdwaSBwaS1jb2RlJykpXG4gICAgICAgICAgICAud2l0aFBvc2l0aW9uKEFjdGlvblBvc2l0aW9uRW51bS5Ub29sYmFyUmlnaHQpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBjcmVhdGVBY3Rpb25EZXNjcmlwdG9yRm9yRXhwb3J0Q3N2KGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlc2NyaXB0b3JJbnN0PFQ+IHtcbiAgICAgICAgcmV0dXJuIEFjdGlvbkRlc2NyaXB0b3IuZnJvbU1vZGVsKGRlc2NyaXB0b3IsICdleHBvcnRDc3YnKVxuICAgICAgICAgICAgLndpdGhSdW5GdW5jdGlvbihjdHggPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHF1ZXJ5UGFyYW1CdWlsZGVyID0gY3R4LnBhcmFtZXRlcnMucXVlcnlQYXJhbSA/IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZUZyb21FeGlzdGluZyhjdHgucGFyYW1ldGVycy5xdWVyeVBhcmFtKSA6IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpO1xuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1CdWlsZGVyLndpdGhJdGVtc09mZnNldCgwKS53aXRoSXRlbXNQZXJQYWdlKDUwMCk7XG4gICAgICAgICAgICAgICAgY3R4LnBhcmFtZXRlcnMud2l0aFF1ZXJ5UGFyYW0ocXVlcnlQYXJhbUJ1aWxkZXIuYnVpbGQoKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuR2V0QWxsT3JGYWlsKGN0eCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXJlcy5wYWdlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW0V4cG9ydFV0aWxzLnByZXBhcmVEYXRhRm9yRXhwb3J0KHJlcy5wYWdlRGF0YSwgJywnLCB0aGlzLmRlc2NyaXB0b3IsIHRoaXMudHJhbnNsYXRlU2VydmljZSldLCB7dHlwZTogJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTgnfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB0eXBlTmFtZSA9IGN0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lID8/ICcnO1xuICAgICAgICAgICAgICAgICAgICAgICAgRmlsZVV0aWwuc2F2ZUFzKGJsb2IsIGAke3R5cGVOYW1lID8gdHlwZU5hbWUgKyAnXycgOiAnJ30ke2N0eC5pbnN0YW5jZS5hY3Rpb24uYWN0aW9uTmFtZX0uY3N2YCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLndpdGhCdXR0b25EZXNjcmlwdG9yKG5ldyBBY3Rpb25CdXR0b25EZXNjcmlwdG9yKCkud2l0aEljb24oJ3BpIHBpLWZpbGUnKSlcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JSZWZyZXNoKGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlc2NyaXB0b3JJbnN0PFQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGFjdGlvbiA9IEFjdGlvbkRlc2NyaXB0b3IuZnJvbU1vZGVsKGRlc2NyaXB0b3IsICdyZWZyZXNoJylcbiAgICAgICAgICAgIC53aXRoUG9zaXRpb24oQWN0aW9uUG9zaXRpb25FbnVtLlRvb2xiYXJSaWdodClcbiAgICAgICAgICAgIC53aXRoVGFibGV2aWV3Q2F0ZWdvcnkoVGFibGV2aWV3QWN0aW9uRGVmYXVsdENhdGVnb3JpZXMuUkVBRClcbiAgICAgICAgICAgIC53aXRoUnVuTm90aWZpY2F0aW9uU3VjY2Vzcyh1bmRlZmluZWQsIHVuZGVmaW5lZCwgZmFsc2UpXG4gICAgICAgICAgICAud2l0aFJ1bkZ1bmN0aW9uKGN0eCA9PiB7XG4gICAgICAgICAgICAgICAgY3R4LnZpZXdDb250YWluZXI/LnJlbG9hZFRhYmxlKHt9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gb2YobnVsbCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgYWN0aW9uLmJ1dHRvbi53aXRoSWNvbigncGkgcGktcmVmcmVzaCcpLnN0eWxlQ2xhc3Mud2l0aEFjdGlvbkxldmVsKFN0eWxlTGV2ZWxFbnVtLlNlY29uZGFyeSk7XG4gICAgICAgIHJldHVybiBhY3Rpb247XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGNyZWF0ZUFjdGlvbkRlc2NyaXB0b3JGb3JEYXRhVHJhbnNsYXRlKGRlc2NyaXB0b3I6IE1vZGVsRGVzY3JpcHRvcjxUPiA9IHRoaXMuZGVzY3JpcHRvci5tb2RlbCk6IEFjdGlvbkRlc2NyaXB0b3JJbnN0PFQ+IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRlc2NyaXB0b3IuaXNMb2NhbGl6ZWQoKVxuICAgICAgICAgICAgPyBBY3Rpb25EZXNjcmlwdG9yLmZyb21Nb2RlbChkZXNjcmlwdG9yLCAndHJhbnNsYXRvcicpLndpdGhQb3NpdGlvbihBY3Rpb25Qb3NpdGlvbkVudW0uVG9vbGJhckxlZnQpLndpdGhDb21wb25lbnQoTW5nRGF0YUxhbmd1YWdlRHJvcGRvd25Db21wb25lbnQpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxufVxuIl19
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { map } from 'rxjs/operators';
|
|
2
|
-
import { MediusFilterMatchType, MediusQueryParamBuilder } from '../api/models';
|
|
3
|
-
import { ModelUtil } from '../utils';
|
|
4
|
-
import { TableviewDataProviderInst } from './tableview.data-provider';
|
|
5
|
-
export class TableviewCrudDataProviderInst extends TableviewDataProviderInst {
|
|
6
|
-
constructor(type, serviceType, idPropertyName, useGetAllForFetch = false) {
|
|
7
|
-
super(type, serviceType);
|
|
8
|
-
this.withGetAll((queryParam, service, locale) => service.getAllPost(queryParam, undefined, locale));
|
|
9
|
-
if (useGetAllForFetch) {
|
|
10
|
-
const selectedIdPropertyName = idPropertyName ?? ModelUtil.findIdAttribute(type) ?? 'id';
|
|
11
|
-
this.withFetch((id, service) => {
|
|
12
|
-
const qp = MediusQueryParamBuilder.create(10, 0).withFilter(selectedIdPropertyName, id, id, MediusFilterMatchType.Equals, true).build();
|
|
13
|
-
return service.getAllPost(qp).pipe(map(res => res.pageData[0]));
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
this.withFetch((id, service, locale) => service.getByIdGet(id, undefined, locale));
|
|
18
|
-
}
|
|
19
|
-
this.withCreate((item, service) => service.createPost(item));
|
|
20
|
-
this.withUpdate((id, item, service) => service.updatePut(id, item));
|
|
21
|
-
this.withDelete((id, item, service) => service.removeDelete(id, item));
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export class TableviewCrudDataProvider extends TableviewCrudDataProviderInst {
|
|
25
|
-
static create(type, serviceType, idProperty, useGetAllForFetch = false) {
|
|
26
|
-
return TableviewCrudDataProvider.createUnsafe(type, serviceType, idProperty, useGetAllForFetch);
|
|
27
|
-
}
|
|
28
|
-
static createUnsafe(type, serviceType, idProperty, useGetAllForFetch = false) {
|
|
29
|
-
return new TableviewCrudDataProviderInst(type, serviceType, idProperty, useGetAllForFetch);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGV2aWV3LWNydWQuZGF0YS1wcm92aWRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZGF0YS1wcm92aWRlcnMvdGFibGV2aWV3LWNydWQuZGF0YS1wcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFFbkMsT0FBTyxFQUFDLHFCQUFxQixFQUFvQix1QkFBdUIsRUFBb0IsTUFBTSxlQUFlLENBQUM7QUFHbEgsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLFVBQVUsQ0FBQztBQUNuQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwyQkFBMkIsQ0FBQztBQUVwRSxNQUFNLE9BQU8sNkJBQWlJLFNBQVEseUJBS3JKO0lBQ0csWUFBc0IsSUFBc0IsRUFBRSxXQUEwQixFQUFFLGNBQXVCLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztRQUN4SCxLQUFLLENBQUMsSUFBSSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsT0FBUSxDQUFDLFVBQVUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUM7UUFFckcsSUFBSSxpQkFBaUIsRUFBRTtZQUNuQixNQUFNLHNCQUFzQixHQUFHLGNBQWMsSUFBSSxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQztZQUN6RixJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUMzQixNQUFNLEVBQUUsR0FBcUIsdUJBQXVCLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxxQkFBcUIsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7Z0JBQzFKLE9BQU8sT0FBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLENBQUM7U0FDTjthQUFNO1lBQ0gsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsQ0FBQyxPQUFRLENBQUMsVUFBVyxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUN4RjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFRLENBQUMsVUFBVyxDQUFDLElBQUssQ0FBQyxDQUFDLENBQUM7UUFDaEUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxPQUFRLENBQUMsU0FBVSxDQUFDLEVBQUUsRUFBRSxJQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3ZFLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBUSxDQUFDLFlBQWEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM3RSxDQUFDO0NBQ0o7QUFFRCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsNkJBQXVDO0lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQ2hCLElBQXNCLEVBQ3RCLFdBQTBCLEVBQzFCLFVBQXdCLEVBQ3hCLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsT0FBTyx5QkFBeUIsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFdBQVcsRUFBRSxVQUFvQixFQUFFLGlCQUFpQixDQUFDLENBQUM7SUFDOUcsQ0FBQztJQUVNLE1BQU0sQ0FBQyxZQUFZLENBQ3RCLElBQXNCLEVBQ3RCLFdBQTBCLEVBQzFCLFVBQW1CLEVBQ25CLGlCQUFpQixHQUFHLEtBQUs7UUFFekIsT0FBTyxJQUFJLDZCQUE2QixDQUFpQixJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9HLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7VHlwZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TWVkaXVzRmlsdGVyTWF0Y2hUeXBlLCBNZWRpdXNRdWVyeVBhcmFtLCBNZWRpdXNRdWVyeVBhcmFtQnVpbGRlciwgTWVkaXVzUXVlcnlSZXN1bHR9IGZyb20gJy4uL2FwaS9tb2RlbHMnO1xuaW1wb3J0IHtJTW5nQ3J1ZEFwaVNlcnZpY2UsIElNbmdHZXRBbGxBcGlTZXJ2aWNlfSBmcm9tICcuLi9hcGkvc2VydmljZXMnO1xuaW1wb3J0IHtDbGFzc1R5cGUsIFNlcnZpY2VDbGFzc1R5cGV9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7TW9kZWxVdGlsfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge1RhYmxldmlld0RhdGFQcm92aWRlckluc3R9IGZyb20gJy4vdGFibGV2aWV3LmRhdGEtcHJvdmlkZXInO1xuXG5leHBvcnQgY2xhc3MgVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlckluc3Q8TW9kZWwsIFNlcnZpY2UgZXh0ZW5kcyBJTW5nQ3J1ZEFwaVNlcnZpY2U8TW9kZWw+ICYgSU1uZ0dldEFsbEFwaVNlcnZpY2U8TWVkaXVzUXVlcnlSZXN1bHQ8TW9kZWw+Pj4gZXh0ZW5kcyBUYWJsZXZpZXdEYXRhUHJvdmlkZXJJbnN0PFxuICAgIE1vZGVsLFxuICAgIFNlcnZpY2UsXG4gICAgQ2xhc3NUeXBlPE1vZGVsPixcbiAgICBTZXJ2aWNlQ2xhc3NUeXBlPFNlcnZpY2U+XG4+IHtcbiAgICBwcm90ZWN0ZWQgY29uc3RydWN0b3IodHlwZTogQ2xhc3NUeXBlPE1vZGVsPiwgc2VydmljZVR5cGU6IFR5cGU8U2VydmljZT4sIGlkUHJvcGVydHlOYW1lPzogc3RyaW5nLCB1c2VHZXRBbGxGb3JGZXRjaCA9IGZhbHNlKSB7XG4gICAgICAgIHN1cGVyKHR5cGUsIHNlcnZpY2VUeXBlKTtcbiAgICAgICAgdGhpcy53aXRoR2V0QWxsKChxdWVyeVBhcmFtLCBzZXJ2aWNlLCBsb2NhbGUpID0+IHNlcnZpY2UhLmdldEFsbFBvc3QocXVlcnlQYXJhbSwgdW5kZWZpbmVkLCBsb2NhbGUpKTtcblxuICAgICAgICBpZiAodXNlR2V0QWxsRm9yRmV0Y2gpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkSWRQcm9wZXJ0eU5hbWUgPSBpZFByb3BlcnR5TmFtZSA/PyBNb2RlbFV0aWwuZmluZElkQXR0cmlidXRlKHR5cGUpID8/ICdpZCc7XG4gICAgICAgICAgICB0aGlzLndpdGhGZXRjaCgoaWQsIHNlcnZpY2UpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBxcDogTWVkaXVzUXVlcnlQYXJhbSA9IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgxMCwgMCkud2l0aEZpbHRlcihzZWxlY3RlZElkUHJvcGVydHlOYW1lLCBpZCwgaWQsIE1lZGl1c0ZpbHRlck1hdGNoVHlwZS5FcXVhbHMsIHRydWUpLmJ1aWxkKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNlcnZpY2UhLmdldEFsbFBvc3QocXApLnBpcGUobWFwKHJlcyA9PiByZXMucGFnZURhdGEhWzBdKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMud2l0aEZldGNoKChpZCwgc2VydmljZSwgbG9jYWxlKSA9PiBzZXJ2aWNlIS5nZXRCeUlkR2V0IShpZCwgdW5kZWZpbmVkLCBsb2NhbGUpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLndpdGhDcmVhdGUoKGl0ZW0sIHNlcnZpY2UpID0+IHNlcnZpY2UhLmNyZWF0ZVBvc3QhKGl0ZW0hKSk7XG4gICAgICAgIHRoaXMud2l0aFVwZGF0ZSgoaWQsIGl0ZW0sIHNlcnZpY2UpID0+IHNlcnZpY2UhLnVwZGF0ZVB1dCEoaWQsIGl0ZW0hKSk7XG4gICAgICAgIHRoaXMud2l0aERlbGV0ZSgoaWQsIGl0ZW0sIHNlcnZpY2UpID0+IHNlcnZpY2UhLnJlbW92ZURlbGV0ZSEoaWQsIGl0ZW0pKTtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVyIGV4dGVuZHMgVGFibGV2aWV3Q3J1ZERhdGFQcm92aWRlckluc3Q8YW55LCBhbnk+IHtcbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZTxNb2RlbCwgU2VydmljZSBleHRlbmRzIElNbmdDcnVkQXBpU2VydmljZTxNb2RlbD4gJiBJTW5nR2V0QWxsQXBpU2VydmljZTxNZWRpdXNRdWVyeVJlc3VsdDxNb2RlbD4+PihcbiAgICAgICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgc2VydmljZVR5cGU6IFR5cGU8U2VydmljZT4sXG4gICAgICAgIGlkUHJvcGVydHk/OiBrZXlvZiBNb2RlbCxcbiAgICAgICAgdXNlR2V0QWxsRm9yRmV0Y2ggPSBmYWxzZVxuICAgICk6IFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlPiB7XG4gICAgICAgIHJldHVybiBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVyLmNyZWF0ZVVuc2FmZSh0eXBlLCBzZXJ2aWNlVHlwZSwgaWRQcm9wZXJ0eSBhcyBzdHJpbmcsIHVzZUdldEFsbEZvckZldGNoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIGNyZWF0ZVVuc2FmZTxNb2RlbCwgU2VydmljZSBleHRlbmRzIElNbmdDcnVkQXBpU2VydmljZTxNb2RlbD4gJiBJTW5nR2V0QWxsQXBpU2VydmljZTxNZWRpdXNRdWVyeVJlc3VsdDxNb2RlbD4+PihcbiAgICAgICAgdHlwZTogQ2xhc3NUeXBlPE1vZGVsPixcbiAgICAgICAgc2VydmljZVR5cGU6IFR5cGU8U2VydmljZT4sXG4gICAgICAgIGlkUHJvcGVydHk/OiBzdHJpbmcsXG4gICAgICAgIHVzZUdldEFsbEZvckZldGNoID0gZmFsc2VcbiAgICApOiBUYWJsZXZpZXdDcnVkRGF0YVByb3ZpZGVySW5zdDxNb2RlbCwgU2VydmljZT4ge1xuICAgICAgICByZXR1cm4gbmV3IFRhYmxldmlld0NydWREYXRhUHJvdmlkZXJJbnN0PE1vZGVsLCBTZXJ2aWNlPih0eXBlLCBzZXJ2aWNlVHlwZSwgaWRQcm9wZXJ0eSwgdXNlR2V0QWxsRm9yRmV0Y2gpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { DatePipe } from '@angular/common';
|
|
2
|
-
import { HttpBackend } from '@angular/common/http';
|
|
3
|
-
import { APP_INITIALIZER, ErrorHandler } from '@angular/core';
|
|
4
|
-
import { FORMLY_CONFIG } from '@ngx-formly/core';
|
|
5
|
-
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
-
import { ConfirmationService, MessageService } from 'primeng/api';
|
|
7
|
-
import { DialogService } from 'primeng/dynamicdialog';
|
|
8
|
-
import { MngActionEditorComponent } from './components/action';
|
|
9
|
-
import { MngErrorHandler } from './error';
|
|
10
|
-
import { JsonPathPipe, MngBooleanPipe, MngClassMapPipe, MngEnumPipe, MngEnumerateAsyncPipe, MngEnumeratePipe, MngGetterPipe, MngI18nPropertyPipe, MngLocaleDefaultRowClassPipe, MngParametrizePipe, MngTemplatePipe } from './pipes';
|
|
11
|
-
import { TypeRegistry } from './registry/type.registry';
|
|
12
|
-
import { DefaultActionMngErrorMapperService, MngActionErrorMapperService, MngCommonsInitService, MngConfigurationService, MngLogPublisherConsoleService, MngLoggerService } from './services';
|
|
13
|
-
import { MngActionExecutorService, MngRootActionExecutorService } from './services/action';
|
|
14
|
-
import { mngCommonsInitializerProvider } from './services/internal';
|
|
15
|
-
import { mngFormlyConfigProvider } from './services/providers';
|
|
16
|
-
import { ACTION_EDITOR_DIALOG_COMPONENT_SETTING, MNG_LOG_PUBLISHERS, MNG_MODULE_CONFIG_IT } from './services/tokens';
|
|
17
|
-
export function provideMngCommons(config) {
|
|
18
|
-
return [
|
|
19
|
-
// primeng services
|
|
20
|
-
DialogService,
|
|
21
|
-
MessageService,
|
|
22
|
-
ConfirmationService,
|
|
23
|
-
// pipes
|
|
24
|
-
JsonPathPipe,
|
|
25
|
-
MngEnumPipe,
|
|
26
|
-
MngBooleanPipe,
|
|
27
|
-
MngI18nPropertyPipe,
|
|
28
|
-
MngParametrizePipe,
|
|
29
|
-
MngGetterPipe,
|
|
30
|
-
MngTemplatePipe,
|
|
31
|
-
MngClassMapPipe,
|
|
32
|
-
MngEnumeratePipe,
|
|
33
|
-
MngEnumerateAsyncPipe,
|
|
34
|
-
MngLocaleDefaultRowClassPipe,
|
|
35
|
-
DatePipe,
|
|
36
|
-
{
|
|
37
|
-
provide: MNG_MODULE_CONFIG_IT,
|
|
38
|
-
useValue: config
|
|
39
|
-
},
|
|
40
|
-
{
|
|
41
|
-
provide: TypeRegistry,
|
|
42
|
-
useFactory: () => TypeRegistry.get()
|
|
43
|
-
},
|
|
44
|
-
{
|
|
45
|
-
provide: MngConfigurationService,
|
|
46
|
-
useFactory: () => MngConfigurationService.get()
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
provide: APP_INITIALIZER,
|
|
50
|
-
useFactory: mngCommonsInitializerProvider,
|
|
51
|
-
deps: [HttpBackend, MngCommonsInitService],
|
|
52
|
-
multi: true
|
|
53
|
-
},
|
|
54
|
-
{
|
|
55
|
-
provide: FORMLY_CONFIG,
|
|
56
|
-
multi: true,
|
|
57
|
-
useFactory: mngFormlyConfigProvider,
|
|
58
|
-
deps: [TranslateService, DatePipe, MNG_MODULE_CONFIG_IT]
|
|
59
|
-
},
|
|
60
|
-
{
|
|
61
|
-
provide: ACTION_EDITOR_DIALOG_COMPONENT_SETTING,
|
|
62
|
-
useValue: MngActionEditorComponent
|
|
63
|
-
},
|
|
64
|
-
{
|
|
65
|
-
provide: MngActionErrorMapperService,
|
|
66
|
-
useClass: DefaultActionMngErrorMapperService
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
provide: MngLoggerService,
|
|
70
|
-
useFactory: () => MngLoggerService.get()
|
|
71
|
-
},
|
|
72
|
-
{
|
|
73
|
-
provide: MNG_LOG_PUBLISHERS,
|
|
74
|
-
useClass: MngLogPublisherConsoleService,
|
|
75
|
-
multi: true
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
provide: ErrorHandler,
|
|
79
|
-
useClass: MngErrorHandler
|
|
80
|
-
},
|
|
81
|
-
MngRootActionExecutorService,
|
|
82
|
-
{
|
|
83
|
-
provide: MngActionExecutorService,
|
|
84
|
-
useExisting: MngRootActionExecutorService
|
|
85
|
-
}
|
|
86
|
-
];
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1jb21tb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9wcm92aWRlLWNvbW1vbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNqRCxPQUFPLEVBQUMsZUFBZSxFQUFFLFlBQVksRUFBVyxNQUFNLGVBQWUsQ0FBQztBQUV0RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUFDLG1CQUFtQixFQUFFLGNBQWMsRUFBQyxNQUFNLGFBQWEsQ0FBQztBQUNoRSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFcEQsT0FBTyxFQUFDLHdCQUF3QixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDN0QsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLFNBQVMsQ0FBQztBQUV4QyxPQUFPLEVBQ0gsWUFBWSxFQUNaLGNBQWMsRUFDZCxlQUFlLEVBQ2YsV0FBVyxFQUNYLHFCQUFxQixFQUNyQixnQkFBZ0IsRUFDaEIsYUFBYSxFQUNiLG1CQUFtQixFQUNuQiw0QkFBNEIsRUFDNUIsa0JBQWtCLEVBQ2xCLGVBQWUsRUFDbEIsTUFBTSxTQUFTLENBQUM7QUFDakIsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFDSCxrQ0FBa0MsRUFDbEMsMkJBQTJCLEVBQzNCLHFCQUFxQixFQUNyQix1QkFBdUIsRUFDdkIsNkJBQTZCLEVBQzdCLGdCQUFnQixFQUNuQixNQUFNLFlBQVksQ0FBQztBQUNwQixPQUFPLEVBQUMsd0JBQXdCLEVBQUUsNEJBQTRCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN6RixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsc0NBQXNDLEVBQUUsa0JBQWtCLEVBQUUsb0JBQW9CLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVuSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBdUI7SUFDckQsT0FBTztRQUNILG1CQUFtQjtRQUNuQixhQUFhO1FBQ2IsY0FBYztRQUNkLG1CQUFtQjtRQUVuQixRQUFRO1FBQ1IsWUFBWTtRQUNaLFdBQVc7UUFDWCxjQUFjO1FBQ2QsbUJBQW1CO1FBQ25CLGtCQUFrQjtRQUNsQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixnQkFBZ0I7UUFDaEIscUJBQXFCO1FBQ3JCLDRCQUE0QjtRQUM1QixRQUFRO1FBRVI7WUFDSSxPQUFPLEVBQUUsb0JBQW9CO1lBQzdCLFFBQVEsRUFBRSxNQUFNO1NBQ25CO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsWUFBWTtZQUNyQixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBRTtTQUN2QztRQUNEO1lBQ0ksT0FBTyxFQUFFLHVCQUF1QjtZQUNoQyxVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUMsR0FBRyxFQUFFO1NBQ2xEO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsZUFBZTtZQUN4QixVQUFVLEVBQUUsNkJBQTZCO1lBQ3pDLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQztZQUMxQyxLQUFLLEVBQUUsSUFBSTtTQUNkO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsYUFBYTtZQUN0QixLQUFLLEVBQUUsSUFBSTtZQUNYLFVBQVUsRUFBRSx1QkFBdUI7WUFDbkMsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixDQUFDO1NBQzNEO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsc0NBQXNDO1lBQy9DLFFBQVEsRUFBRSx3QkFBd0I7U0FDckM7UUFDRDtZQUNJLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsUUFBUSxFQUFFLGtDQUFrQztTQUMvQztRQUNEO1lBQ0ksT0FBTyxFQUFFLGdCQUFnQjtZQUN6QixVQUFVLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFO1NBQzNDO1FBQ0Q7WUFDSSxPQUFPLEVBQUUsa0JBQWtCO1lBQzNCLFFBQVEsRUFBRSw2QkFBNkI7WUFDdkMsS0FBSyxFQUFFLElBQUk7U0FDZDtRQUNEO1lBQ0ksT0FBTyxFQUFFLFlBQVk7WUFDckIsUUFBUSxFQUFFLGVBQWU7U0FDNUI7UUFDRCw0QkFBNEI7UUFDNUI7WUFDSSxPQUFPLEVBQUUsd0JBQXdCO1lBQ2pDLFdBQVcsRUFBRSw0QkFBNEI7U0FDNUM7S0FDSixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVBpcGV9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge0h0dHBCYWNrZW5kfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0FQUF9JTklUSUFMSVpFUiwgRXJyb3JIYW5kbGVyLCBQcm92aWRlcn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7Rk9STUxZX0NPTkZJR30gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQge1RyYW5zbGF0ZVNlcnZpY2V9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHtDb25maXJtYXRpb25TZXJ2aWNlLCBNZXNzYWdlU2VydmljZX0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHtEaWFsb2dTZXJ2aWNlfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xuXG5pbXBvcnQge01uZ0FjdGlvbkVkaXRvckNvbXBvbmVudH0gZnJvbSAnLi9jb21wb25lbnRzL2FjdGlvbic7XG5pbXBvcnQge01uZ0Vycm9ySGFuZGxlcn0gZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQge01uZ01vZHVsZUNvbmZpZ30gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgICBKc29uUGF0aFBpcGUsXG4gICAgTW5nQm9vbGVhblBpcGUsXG4gICAgTW5nQ2xhc3NNYXBQaXBlLFxuICAgIE1uZ0VudW1QaXBlLFxuICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcbiAgICBNbmdFbnVtZXJhdGVQaXBlLFxuICAgIE1uZ0dldHRlclBpcGUsXG4gICAgTW5nSTE4blByb3BlcnR5UGlwZSxcbiAgICBNbmdMb2NhbGVEZWZhdWx0Um93Q2xhc3NQaXBlLFxuICAgIE1uZ1BhcmFtZXRyaXplUGlwZSxcbiAgICBNbmdUZW1wbGF0ZVBpcGVcbn0gZnJvbSAnLi9waXBlcyc7XG5pbXBvcnQge1R5cGVSZWdpc3RyeX0gZnJvbSAnLi9yZWdpc3RyeS90eXBlLnJlZ2lzdHJ5JztcbmltcG9ydCB7XG4gICAgRGVmYXVsdEFjdGlvbk1uZ0Vycm9yTWFwcGVyU2VydmljZSxcbiAgICBNbmdBY3Rpb25FcnJvck1hcHBlclNlcnZpY2UsXG4gICAgTW5nQ29tbW9uc0luaXRTZXJ2aWNlLFxuICAgIE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLFxuICAgIE1uZ0xvZ1B1Ymxpc2hlckNvbnNvbGVTZXJ2aWNlLFxuICAgIE1uZ0xvZ2dlclNlcnZpY2Vcbn0gZnJvbSAnLi9zZXJ2aWNlcyc7XG5pbXBvcnQge01uZ0FjdGlvbkV4ZWN1dG9yU2VydmljZSwgTW5nUm9vdEFjdGlvbkV4ZWN1dG9yU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9hY3Rpb24nO1xuaW1wb3J0IHttbmdDb21tb25zSW5pdGlhbGl6ZXJQcm92aWRlcn0gZnJvbSAnLi9zZXJ2aWNlcy9pbnRlcm5hbCc7XG5pbXBvcnQge21uZ0Zvcm1seUNvbmZpZ1Byb3ZpZGVyfSBmcm9tICcuL3NlcnZpY2VzL3Byb3ZpZGVycyc7XG5pbXBvcnQge0FDVElPTl9FRElUT1JfRElBTE9HX0NPTVBPTkVOVF9TRVRUSU5HLCBNTkdfTE9HX1BVQkxJU0hFUlMsIE1OR19NT0RVTEVfQ09ORklHX0lUfSBmcm9tICcuL3NlcnZpY2VzL3Rva2Vucyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTW5nQ29tbW9ucyhjb25maWc6IE1uZ01vZHVsZUNvbmZpZyk6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBbXG4gICAgICAgIC8vIHByaW1lbmcgc2VydmljZXNcbiAgICAgICAgRGlhbG9nU2VydmljZSxcbiAgICAgICAgTWVzc2FnZVNlcnZpY2UsXG4gICAgICAgIENvbmZpcm1hdGlvblNlcnZpY2UsXG5cbiAgICAgICAgLy8gcGlwZXNcbiAgICAgICAgSnNvblBhdGhQaXBlLFxuICAgICAgICBNbmdFbnVtUGlwZSxcbiAgICAgICAgTW5nQm9vbGVhblBpcGUsXG4gICAgICAgIE1uZ0kxOG5Qcm9wZXJ0eVBpcGUsXG4gICAgICAgIE1uZ1BhcmFtZXRyaXplUGlwZSxcbiAgICAgICAgTW5nR2V0dGVyUGlwZSxcbiAgICAgICAgTW5nVGVtcGxhdGVQaXBlLFxuICAgICAgICBNbmdDbGFzc01hcFBpcGUsXG4gICAgICAgIE1uZ0VudW1lcmF0ZVBpcGUsXG4gICAgICAgIE1uZ0VudW1lcmF0ZUFzeW5jUGlwZSxcbiAgICAgICAgTW5nTG9jYWxlRGVmYXVsdFJvd0NsYXNzUGlwZSxcbiAgICAgICAgRGF0ZVBpcGUsXG5cbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTU5HX01PRFVMRV9DT05GSUdfSVQsXG4gICAgICAgICAgICB1c2VWYWx1ZTogY29uZmlnXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IFR5cGVSZWdpc3RyeSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IFR5cGVSZWdpc3RyeS5nZXQoKVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNbmdDb25maWd1cmF0aW9uU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IE1uZ0NvbmZpZ3VyYXRpb25TZXJ2aWNlLmdldCgpXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IG1uZ0NvbW1vbnNJbml0aWFsaXplclByb3ZpZGVyLFxuICAgICAgICAgICAgZGVwczogW0h0dHBCYWNrZW5kLCBNbmdDb21tb25zSW5pdFNlcnZpY2VdLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRk9STUxZX0NPTkZJRyxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICAgICAgdXNlRmFjdG9yeTogbW5nRm9ybWx5Q29uZmlnUHJvdmlkZXIsXG4gICAgICAgICAgICBkZXBzOiBbVHJhbnNsYXRlU2VydmljZSwgRGF0ZVBpcGUsIE1OR19NT0RVTEVfQ09ORklHX0lUXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBBQ1RJT05fRURJVE9SX0RJQUxPR19DT01QT05FTlRfU0VUVElORyxcbiAgICAgICAgICAgIHVzZVZhbHVlOiBNbmdBY3Rpb25FZGl0b3JDb21wb25lbnRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTW5nQWN0aW9uRXJyb3JNYXBwZXJTZXJ2aWNlLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IERlZmF1bHRBY3Rpb25NbmdFcnJvck1hcHBlclNlcnZpY2VcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTW5nTG9nZ2VyU2VydmljZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6ICgpID0+IE1uZ0xvZ2dlclNlcnZpY2UuZ2V0KClcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTU5HX0xPR19QVUJMSVNIRVJTLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IE1uZ0xvZ1B1Ymxpc2hlckNvbnNvbGVTZXJ2aWNlLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IE1uZ0Vycm9ySGFuZGxlclxuICAgICAgICB9LFxuICAgICAgICBNbmdSb290QWN0aW9uRXhlY3V0b3JTZXJ2aWNlLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBNbmdBY3Rpb25FeGVjdXRvclNlcnZpY2UsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogTW5nUm9vdEFjdGlvbkV4ZWN1dG9yU2VydmljZVxuICAgICAgICB9XG4gICAgXTtcbn1cbiJdfQ==
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { isObservable, throwError } from 'rxjs';
|
|
2
|
-
import { MediusQueryParamBuilder } from '../api/models';
|
|
3
|
-
import { toObservable } from '../helpers/coercion';
|
|
4
|
-
import { MngActionError, MngInternalError } from '../models';
|
|
5
|
-
export class ActionDataProviderUtil {
|
|
6
|
-
static runGetAllOrFail(ctx) {
|
|
7
|
-
const dataProviderExec = ActionDataProviderUtil.runGetAllDataProvider(ctx);
|
|
8
|
-
if (isObservable(dataProviderExec)) {
|
|
9
|
-
return dataProviderExec;
|
|
10
|
-
}
|
|
11
|
-
const serviceExec = ActionDataProviderUtil.runGetAllService(ctx);
|
|
12
|
-
return isObservable(serviceExec)
|
|
13
|
-
? serviceExec
|
|
14
|
-
: throwError(() => new MngActionError(`Data provider and service instance could not extract fetch function to execute in action ${ctx.instance.action.actionNameLong} (${ctx.instance.action.model?.typeName}) for item id ${ctx.parameters?.itemId}.`, ctx.contextLongName, { actionContext: ctx }));
|
|
15
|
-
}
|
|
16
|
-
static runFetchOrFail(ctx) {
|
|
17
|
-
return (ActionDataProviderUtil.runFetch(ctx) ??
|
|
18
|
-
throwError(() => new MngActionError(`Data provider and service instance could not extract fetch function to execute in action ${ctx.instance.action.actionNameLong} (${ctx.instance.action.model?.typeName}) for item id ${ctx.parameters?.itemId}.`, ctx.contextLongName, { actionContext: ctx })));
|
|
19
|
-
}
|
|
20
|
-
static runFetch(ctx, fallback) {
|
|
21
|
-
const dataProviderExec = ActionDataProviderUtil.runFetchDataProvider(ctx);
|
|
22
|
-
if (isObservable(dataProviderExec)) {
|
|
23
|
-
return dataProviderExec;
|
|
24
|
-
}
|
|
25
|
-
const serviceExec = ActionDataProviderUtil.runGetByIdService(ctx);
|
|
26
|
-
return isObservable(serviceExec) ? serviceExec : fallback ?? null;
|
|
27
|
-
}
|
|
28
|
-
static runCreateOrFail(ctx) {
|
|
29
|
-
return (ActionDataProviderUtil.runCreate(ctx) ??
|
|
30
|
-
throwError(() => new MngActionError(`Data provider and service instance could not extract create function to execute in action ${ctx.instance.action.actionNameLong} (${ctx.instance.action.model?.typeName}) for item ${ctx.parameters?.item}.`, ctx.contextLongName, { actionContext: ctx })));
|
|
31
|
-
}
|
|
32
|
-
static runCreate(ctx, fallback) {
|
|
33
|
-
const dataProviderExec = ActionDataProviderUtil.runCreateDataProvider(ctx);
|
|
34
|
-
if (isObservable(dataProviderExec)) {
|
|
35
|
-
return dataProviderExec;
|
|
36
|
-
}
|
|
37
|
-
const serviceExec = ActionDataProviderUtil.runCreateService(ctx);
|
|
38
|
-
return isObservable(serviceExec) ? serviceExec : fallback ?? null;
|
|
39
|
-
}
|
|
40
|
-
static runUpdateOrFail(ctx) {
|
|
41
|
-
return (ActionDataProviderUtil.runUpdate(ctx) ??
|
|
42
|
-
throwError(() => new MngActionError(`Data provider and service instance could not extract update function to execute in action ${ctx.instance.action.actionNameLong} (${ctx.instance.action.model?.typeName}) for item id ${ctx.parameters?.itemId}.`, ctx.contextLongName, { actionContext: ctx })));
|
|
43
|
-
}
|
|
44
|
-
static runUpdate(ctx, fallback) {
|
|
45
|
-
const dataProviderExec = ActionDataProviderUtil.runUpdateDataProvider(ctx);
|
|
46
|
-
if (isObservable(dataProviderExec)) {
|
|
47
|
-
return dataProviderExec;
|
|
48
|
-
}
|
|
49
|
-
const serviceExec = ActionDataProviderUtil.runUpdateService(ctx);
|
|
50
|
-
return isObservable(serviceExec) ? serviceExec : fallback ?? null;
|
|
51
|
-
}
|
|
52
|
-
static runDeleteOrFail(ctx) {
|
|
53
|
-
const dataProviderExec = ActionDataProviderUtil.runDeleteDataProvider(ctx);
|
|
54
|
-
if (isObservable(dataProviderExec)) {
|
|
55
|
-
return dataProviderExec;
|
|
56
|
-
}
|
|
57
|
-
const serviceExec = ActionDataProviderUtil.runDeleteService(ctx);
|
|
58
|
-
return isObservable(serviceExec)
|
|
59
|
-
? serviceExec
|
|
60
|
-
: throwError(() => new MngActionError(`Data provider and service instance could not extract delete function to execute in action ${ctx.instance.action.actionNameLong} (${ctx.instance.action.model?.typeName}) for item id ${ctx.parameters?.itemId}.`, ctx.contextLongName, { actionContext: ctx }));
|
|
61
|
-
}
|
|
62
|
-
static runGetAllService(ctx) {
|
|
63
|
-
if (typeof ctx.serviceInstance !== 'undefined') {
|
|
64
|
-
const getAllServiceInstance = ctx.serviceInstance;
|
|
65
|
-
if (typeof getAllServiceInstance.getAllPost === 'function') {
|
|
66
|
-
const queryParam = ctx.parameters?.queryParam ?? MediusQueryParamBuilder.create().build();
|
|
67
|
-
return getAllServiceInstance.getAllPost(queryParam);
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
return null;
|
|
71
|
-
}
|
|
72
|
-
static runGetByIdService(ctx) {
|
|
73
|
-
if (typeof ctx.serviceInstance !== 'undefined') {
|
|
74
|
-
const crudServiceInstance = ctx.serviceInstance;
|
|
75
|
-
if (typeof crudServiceInstance.getByIdGet === 'function') {
|
|
76
|
-
return ctx.parameters?.itemId ? crudServiceInstance.getByIdGet(ctx.parameters.itemId) : null;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
return null;
|
|
80
|
-
}
|
|
81
|
-
static runCreateService(ctx) {
|
|
82
|
-
if (typeof ctx.serviceInstance !== 'undefined') {
|
|
83
|
-
const crudServiceInstance = ctx.serviceInstance;
|
|
84
|
-
if (typeof crudServiceInstance.createPost === 'function') {
|
|
85
|
-
return ctx.parameters?.item ? crudServiceInstance.createPost(ctx.parameters.item) : null;
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
static runUpdateService(ctx) {
|
|
91
|
-
if (typeof ctx.serviceInstance !== 'undefined') {
|
|
92
|
-
const crudServiceInstance = ctx.serviceInstance;
|
|
93
|
-
if (typeof crudServiceInstance.updatePut === 'function') {
|
|
94
|
-
return ctx.parameters?.itemId && ctx.parameters.item ? crudServiceInstance.updatePut(ctx.parameters.itemId, ctx.parameters.item) : null;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
static runDeleteService(ctx) {
|
|
100
|
-
if (typeof ctx.serviceInstance !== 'undefined') {
|
|
101
|
-
const crudServiceInstance = ctx.serviceInstance;
|
|
102
|
-
if (typeof crudServiceInstance.removeDelete === 'function') {
|
|
103
|
-
return ctx.parameters?.itemId ? crudServiceInstance.removeDelete(ctx.parameters.itemId, ctx.parameters.item) : null;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return null;
|
|
107
|
-
}
|
|
108
|
-
static runGetAllDataProvider(ctx) {
|
|
109
|
-
if (typeof ctx.dataProvider !== 'undefined' && typeof ctx.dataProvider['getAll'] === 'function') {
|
|
110
|
-
const tableDataProvider = ctx.dataProvider;
|
|
111
|
-
const queryParam = ctx.parameters?.queryParam ?? MediusQueryParamBuilder.create().build();
|
|
112
|
-
return toObservable(tableDataProvider.getAll(queryParam, ctx.serviceInstance));
|
|
113
|
-
}
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
static runFetchDataProvider(ctx) {
|
|
117
|
-
if (typeof ctx.dataProvider !== 'undefined') {
|
|
118
|
-
const editorDataProvider = ctx.dataProvider;
|
|
119
|
-
if (typeof editorDataProvider.fetch === 'function') {
|
|
120
|
-
return ctx.parameters?.itemId ? toObservable(editorDataProvider.fetch(ctx.parameters.itemId, ctx.serviceInstance, ctx.parameters.locale)) : null;
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
return null;
|
|
124
|
-
}
|
|
125
|
-
static runCreateDataProvider(ctx) {
|
|
126
|
-
if (typeof ctx.dataProvider !== 'undefined') {
|
|
127
|
-
const editorDataProvider = ctx.dataProvider;
|
|
128
|
-
if (typeof editorDataProvider.create === 'function') {
|
|
129
|
-
return ctx.parameters?.item ? toObservable(editorDataProvider.create(ctx.parameters.item, ctx.serviceInstance)) : null;
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
return null;
|
|
133
|
-
}
|
|
134
|
-
static runUpdateDataProvider(ctx) {
|
|
135
|
-
if (typeof ctx.dataProvider !== 'undefined') {
|
|
136
|
-
const editorDataProvider = ctx.dataProvider;
|
|
137
|
-
if (typeof editorDataProvider.update === 'function') {
|
|
138
|
-
return ctx.parameters?.itemId ? toObservable(editorDataProvider.update(ctx.parameters.itemId, ctx.parameters.item, ctx.serviceInstance)) : null;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return null;
|
|
142
|
-
}
|
|
143
|
-
static runDeleteDataProvider(ctx) {
|
|
144
|
-
if (typeof ctx.dataProvider !== 'undefined') {
|
|
145
|
-
const editorDataProvider = ctx.dataProvider;
|
|
146
|
-
if (typeof editorDataProvider.delete === 'function') {
|
|
147
|
-
return ctx.parameters?.itemId ? toObservable(editorDataProvider.delete(ctx.parameters.itemId, ctx.parameters.item, ctx.serviceInstance)) : null;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return null;
|
|
151
|
-
}
|
|
152
|
-
/**
|
|
153
|
-
* Gets service instance of data provider.
|
|
154
|
-
*
|
|
155
|
-
* @param injector Injector instance
|
|
156
|
-
* @param dataProvider Data provider instance.
|
|
157
|
-
*/
|
|
158
|
-
static getDataProviderService(injector, dataProvider) {
|
|
159
|
-
if (dataProvider?.serviceType) {
|
|
160
|
-
const service = injector.get(dataProvider.serviceType, undefined, { optional: true });
|
|
161
|
-
if (!service) {
|
|
162
|
-
throw new MngInternalError(`Data provider service type ${dataProvider.serviceType} could not be injected.`);
|
|
163
|
-
}
|
|
164
|
-
return service;
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
return null;
|
|
168
|
-
}
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWRhdGEtcHJvdmlkZXIudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdXRpbHMvYWN0aW9uLWRhdGEtcHJvdmlkZXIudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQWEsWUFBWSxFQUFFLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUUxRCxPQUFPLEVBQUMsdUJBQXVCLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBSXpFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRCxPQUFPLEVBQUMsY0FBYyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRTNELE1BQU0sT0FBTyxzQkFBc0I7SUFDeEIsTUFBTSxDQUFDLGVBQWUsQ0FBTyxHQUF3QjtRQUN4RCxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDLHFCQUFxQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzNFLElBQUksWUFBWSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7WUFDaEMsT0FBTyxnQkFBZ0IsQ0FBQztTQUMzQjtRQUNELE1BQU0sV0FBVyxHQUFHLHNCQUFzQixDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pFLE9BQU8sWUFBWSxDQUFDLFdBQVcsQ0FBQztZQUM1QixDQUFDLENBQUMsV0FBVztZQUNiLENBQUMsQ0FBQyxVQUFVLENBQ04sR0FBRyxFQUFFLENBQ0QsSUFBSSxjQUFjLENBQ2QsNEZBQTRGLEdBQUcsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLGNBQWMsS0FBSyxHQUFHLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxpQkFBaUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxNQUFNLEdBQUcsRUFDaE4sR0FBRyxDQUFDLGVBQWUsRUFDbkIsRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFDLENBQ3ZCLENBQ1IsQ0FBQztJQUNa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RCxPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxNQUFNLENBQUMsc0JBQXNCLENBQU8sUUFBa0IsRUFBRSxZQUFrQztRQUM3RixJQUFJLFlBQVksRUFBRSxXQUFXLEVBQUU7WUFDM0IsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBSSxZQUFZLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO1lBQ3ZGLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ1YsTUFBTSxJQUFJLGdCQUFnQixDQUFDLDhCQUE4QixZQUFZLENBQUMsV0FBVyx5QkFBeUIsQ0FBQyxDQUFDO2FBQy9HO1lBQ0QsT0FBTyxPQUFPLENBQUM7U0FDbEI7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDO1NBQ2Y7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdG9yfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtPYnNlcnZhYmxlLCBpc09ic2VydmFibGUsIHRocm93RXJyb3J9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge01lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLCBNZWRpdXNRdWVyeVJlc3VsdH0gZnJvbSAnLi4vYXBpL21vZGVscyc7XG5pbXBvcnQge0lNbmdDcnVkQXBpU2VydmljZSwgSU1uZ0dldEFsbEFwaVNlcnZpY2V9IGZyb20gJy4uL2FwaS9zZXJ2aWNlcyc7XG5pbXBvcnQge0FjdGlvbkNvbnRleHR9IGZyb20gJy4uL2NvbXBvbmVudHMvYWN0aW9uL21vZGVscyc7XG5pbXBvcnQge0lEYXRhUHJvdmlkZXIsIElFZGl0b3JEYXRhUHJvdmlkZXIsIElUYWJsZURhdGFQcm92aWRlcn0gZnJvbSAnLi4vZGF0YS1wcm92aWRlcnMnO1xuaW1wb3J0IHt0b09ic2VydmFibGV9IGZyb20gJy4uL2hlbHBlcnMvY29lcmNpb24nO1xuaW1wb3J0IHtNbmdBY3Rpb25FcnJvciwgTW5nSW50ZXJuYWxFcnJvcn0gZnJvbSAnLi4vbW9kZWxzJztcblxuZXhwb3J0IGNsYXNzIEFjdGlvbkRhdGFQcm92aWRlclV0aWwge1xuICAgIHB1YmxpYyBzdGF0aWMgcnVuR2V0QWxsT3JGYWlsPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8TWVkaXVzUXVlcnlSZXN1bHQ8VD4+IHtcbiAgICAgICAgY29uc3QgZGF0YVByb3ZpZGVyRXhlYyA9IEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuR2V0QWxsRGF0YVByb3ZpZGVyKGN0eCk7XG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZGF0YVByb3ZpZGVyRXhlYykpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJFeGVjO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlcnZpY2VFeGVjID0gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5HZXRBbGxTZXJ2aWNlKGN0eCk7XG4gICAgICAgIHJldHVybiBpc09ic2VydmFibGUoc2VydmljZUV4ZWMpXG4gICAgICAgICAgICA/IHNlcnZpY2VFeGVjXG4gICAgICAgICAgICA6IHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgIG5ldyBNbmdBY3Rpb25FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYERhdGEgcHJvdmlkZXIgYW5kIHNlcnZpY2UgaW5zdGFuY2UgY291bGQgbm90IGV4dHJhY3QgZmV0Y2ggZnVuY3Rpb24gdG8gZXhlY3V0ZSBpbiBhY3Rpb24gJHtjdHguaW5zdGFuY2UuYWN0aW9uLmFjdGlvbk5hbWVMb25nfSAoJHtjdHguaW5zdGFuY2UuYWN0aW9uLm1vZGVsPy50eXBlTmFtZX0pIGZvciBpdGVtIGlkICR7Y3R4LnBhcmFtZXRlcnM/Lml0ZW1JZH0uYCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY3R4LmNvbnRleHRMb25nTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAge2FjdGlvbkNvbnRleHQ6IGN0eH1cbiAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5GZXRjaE9yRmFpbDxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuRmV0Y2goY3R4KSA/P1xuICAgICAgICAgICAgdGhyb3dFcnJvcihcbiAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICBuZXcgTW5nQWN0aW9uRXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICBgRGF0YSBwcm92aWRlciBhbmQgc2VydmljZSBpbnN0YW5jZSBjb3VsZCBub3QgZXh0cmFjdCBmZXRjaCBmdW5jdGlvbiB0byBleGVjdXRlIGluIGFjdGlvbiAke2N0eC5pbnN0YW5jZS5hY3Rpb24uYWN0aW9uTmFtZUxvbmd9ICgke2N0eC5pbnN0YW5jZS5hY3Rpb24ubW9kZWw/LnR5cGVOYW1lfSkgZm9yIGl0ZW0gaWQgJHtjdHgucGFyYW1ldGVycz8uaXRlbUlkfS5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3R4LmNvbnRleHRMb25nTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHthY3Rpb25Db250ZXh0OiBjdHh9XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJ1bkZldGNoPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8VD4gfCBudWxsO1xuICAgIHB1YmxpYyBzdGF0aWMgcnVuRmV0Y2g8VCwgUz4oY3R4OiBBY3Rpb25Db250ZXh0PFQsIFM+LCBmYWxsYmFjazogT2JzZXJ2YWJsZTxUIHwgbnVsbCB8IHVuZGVmaW5lZD4pOiBPYnNlcnZhYmxlPFQgfCBudWxsIHwgdW5kZWZpbmVkPjtcbiAgICBwdWJsaWMgc3RhdGljIHJ1bkZldGNoPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPiwgZmFsbGJhY2s/OiBPYnNlcnZhYmxlPFQgfCBudWxsIHwgdW5kZWZpbmVkPik6IE9ic2VydmFibGU8VCB8IG51bGwgfCB1bmRlZmluZWQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRhdGFQcm92aWRlckV4ZWMgPSBBY3Rpb25EYXRhUHJvdmlkZXJVdGlsLnJ1bkZldGNoRGF0YVByb3ZpZGVyKGN0eCk7XG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZGF0YVByb3ZpZGVyRXhlYykpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJFeGVjO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlcnZpY2VFeGVjID0gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5HZXRCeUlkU2VydmljZShjdHgpO1xuICAgICAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHNlcnZpY2VFeGVjKSA/IHNlcnZpY2VFeGVjIDogZmFsbGJhY2sgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJ1bkNyZWF0ZU9yRmFpbDxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuQ3JlYXRlKGN0eCkgPz9cbiAgICAgICAgICAgIHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IE1uZ0FjdGlvbkVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYERhdGEgcHJvdmlkZXIgYW5kIHNlcnZpY2UgaW5zdGFuY2UgY291bGQgbm90IGV4dHJhY3QgY3JlYXRlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgaW4gYWN0aW9uICR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5hY3Rpb25OYW1lTG9uZ30gKCR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5tb2RlbD8udHlwZU5hbWV9KSBmb3IgaXRlbSAke2N0eC5wYXJhbWV0ZXJzPy5pdGVtfS5gLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3R4LmNvbnRleHRMb25nTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHthY3Rpb25Db250ZXh0OiBjdHh9XG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJ1bkNyZWF0ZTxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHwgbnVsbDtcbiAgICBwdWJsaWMgc3RhdGljIHJ1bkNyZWF0ZTxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4sIGZhbGxiYWNrOiBPYnNlcnZhYmxlPFQgfCBudWxsIHwgdW5kZWZpbmVkPik6IE9ic2VydmFibGU8VCB8IG51bGwgfCB1bmRlZmluZWQ+O1xuICAgIHB1YmxpYyBzdGF0aWMgcnVuQ3JlYXRlPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPiwgZmFsbGJhY2s/OiBPYnNlcnZhYmxlPFQgfCBudWxsIHwgdW5kZWZpbmVkPik6IE9ic2VydmFibGU8VCB8IG51bGwgfCB1bmRlZmluZWQ+IHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRhdGFQcm92aWRlckV4ZWMgPSBBY3Rpb25EYXRhUHJvdmlkZXJVdGlsLnJ1bkNyZWF0ZURhdGFQcm92aWRlcihjdHgpO1xuICAgICAgICBpZiAoaXNPYnNlcnZhYmxlKGRhdGFQcm92aWRlckV4ZWMpKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YVByb3ZpZGVyRXhlYztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzZXJ2aWNlRXhlYyA9IEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuQ3JlYXRlU2VydmljZShjdHgpO1xuICAgICAgICByZXR1cm4gaXNPYnNlcnZhYmxlKHNlcnZpY2VFeGVjKSA/IHNlcnZpY2VFeGVjIDogZmFsbGJhY2sgPz8gbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJ1blVwZGF0ZU9yRmFpbDxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuVXBkYXRlKGN0eCkgPz9cbiAgICAgICAgICAgIHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICAgKCkgPT5cbiAgICAgICAgICAgICAgICAgICAgbmV3IE1uZ0FjdGlvbkVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgYERhdGEgcHJvdmlkZXIgYW5kIHNlcnZpY2UgaW5zdGFuY2UgY291bGQgbm90IGV4dHJhY3QgdXBkYXRlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgaW4gYWN0aW9uICR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5hY3Rpb25OYW1lTG9uZ30gKCR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5tb2RlbD8udHlwZU5hbWV9KSBmb3IgaXRlbSBpZCAke2N0eC5wYXJhbWV0ZXJzPy5pdGVtSWR9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdHguY29udGV4dExvbmdOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAge2FjdGlvbkNvbnRleHQ6IGN0eH1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcnVuVXBkYXRlPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8VD4gfCBudWxsO1xuICAgIHB1YmxpYyBzdGF0aWMgcnVuVXBkYXRlPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPiwgZmFsbGJhY2s6IE9ic2VydmFibGU8VCB8IG51bGwgfCB1bmRlZmluZWQ+KTogT2JzZXJ2YWJsZTxUIHwgbnVsbCB8IHVuZGVmaW5lZD47XG4gICAgcHVibGljIHN0YXRpYyBydW5VcGRhdGU8VCwgUz4oY3R4OiBBY3Rpb25Db250ZXh0PFQsIFM+LCBmYWxsYmFjaz86IE9ic2VydmFibGU8VCB8IG51bGwgfCB1bmRlZmluZWQ+KTogT2JzZXJ2YWJsZTxUIHwgbnVsbCB8IHVuZGVmaW5lZD4gfCBudWxsIHtcbiAgICAgICAgY29uc3QgZGF0YVByb3ZpZGVyRXhlYyA9IEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuVXBkYXRlRGF0YVByb3ZpZGVyKGN0eCk7XG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZGF0YVByb3ZpZGVyRXhlYykpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJFeGVjO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlcnZpY2VFeGVjID0gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5VcGRhdGVTZXJ2aWNlKGN0eCk7XG4gICAgICAgIHJldHVybiBpc09ic2VydmFibGUoc2VydmljZUV4ZWMpID8gc2VydmljZUV4ZWMgOiBmYWxsYmFjayA/PyBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcnVuRGVsZXRlT3JGYWlsPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8VCB8IG51bGw+IHtcbiAgICAgICAgY29uc3QgZGF0YVByb3ZpZGVyRXhlYyA9IEFjdGlvbkRhdGFQcm92aWRlclV0aWwucnVuRGVsZXRlRGF0YVByb3ZpZGVyKGN0eCk7XG4gICAgICAgIGlmIChpc09ic2VydmFibGUoZGF0YVByb3ZpZGVyRXhlYykpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhUHJvdmlkZXJFeGVjO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlcnZpY2VFeGVjID0gQWN0aW9uRGF0YVByb3ZpZGVyVXRpbC5ydW5EZWxldGVTZXJ2aWNlKGN0eCk7XG4gICAgICAgIHJldHVybiBpc09ic2VydmFibGUoc2VydmljZUV4ZWMpXG4gICAgICAgICAgICA/IHNlcnZpY2VFeGVjXG4gICAgICAgICAgICA6IHRocm93RXJyb3IoXG4gICAgICAgICAgICAgICAgICAoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgIG5ldyBNbmdBY3Rpb25FcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYERhdGEgcHJvdmlkZXIgYW5kIHNlcnZpY2UgaW5zdGFuY2UgY291bGQgbm90IGV4dHJhY3QgZGVsZXRlIGZ1bmN0aW9uIHRvIGV4ZWN1dGUgaW4gYWN0aW9uICR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5hY3Rpb25OYW1lTG9uZ30gKCR7Y3R4Lmluc3RhbmNlLmFjdGlvbi5tb2RlbD8udHlwZU5hbWV9KSBmb3IgaXRlbSBpZCAke2N0eC5wYXJhbWV0ZXJzPy5pdGVtSWR9LmAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGN0eC5jb250ZXh0TG9uZ05hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHthY3Rpb25Db250ZXh0OiBjdHh9XG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcnVuR2V0QWxsU2VydmljZTxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+PiB8IG51bGwge1xuICAgICAgICBpZiAodHlwZW9mIGN0eC5zZXJ2aWNlSW5zdGFuY2UgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBnZXRBbGxTZXJ2aWNlSW5zdGFuY2UgPSBjdHguc2VydmljZUluc3RhbmNlIGFzIElNbmdHZXRBbGxBcGlTZXJ2aWNlPE1lZGl1c1F1ZXJ5UmVzdWx0PFQ+PjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZ2V0QWxsU2VydmljZUluc3RhbmNlLmdldEFsbFBvc3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBxdWVyeVBhcmFtID0gY3R4LnBhcmFtZXRlcnM/LnF1ZXJ5UGFyYW0gPz8gTWVkaXVzUXVlcnlQYXJhbUJ1aWxkZXIuY3JlYXRlKCkuYnVpbGQoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0QWxsU2VydmljZUluc3RhbmNlLmdldEFsbFBvc3QocXVlcnlQYXJhbSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5HZXRCeUlkU2VydmljZTxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgY3R4LnNlcnZpY2VJbnN0YW5jZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGNydWRTZXJ2aWNlSW5zdGFuY2UgPSBjdHguc2VydmljZUluc3RhbmNlIGFzIElNbmdDcnVkQXBpU2VydmljZTxUPjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3J1ZFNlcnZpY2VJbnN0YW5jZS5nZXRCeUlkR2V0ID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5wYXJhbWV0ZXJzPy5pdGVtSWQgPyBjcnVkU2VydmljZUluc3RhbmNlLmdldEJ5SWRHZXQoY3R4LnBhcmFtZXRlcnMuaXRlbUlkKSA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5DcmVhdGVTZXJ2aWNlPFQsIFMgPSBhbnk+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8VD4gfCBudWxsIHtcbiAgICAgICAgaWYgKHR5cGVvZiBjdHguc2VydmljZUluc3RhbmNlICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgY29uc3QgY3J1ZFNlcnZpY2VJbnN0YW5jZSA9IGN0eC5zZXJ2aWNlSW5zdGFuY2UgYXMgSU1uZ0NydWRBcGlTZXJ2aWNlPFQ+O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjcnVkU2VydmljZUluc3RhbmNlLmNyZWF0ZVBvc3QgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnBhcmFtZXRlcnM/Lml0ZW0gPyBjcnVkU2VydmljZUluc3RhbmNlLmNyZWF0ZVBvc3QoY3R4LnBhcmFtZXRlcnMuaXRlbSkgOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcnVuVXBkYXRlU2VydmljZTxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgY3R4LnNlcnZpY2VJbnN0YW5jZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGNydWRTZXJ2aWNlSW5zdGFuY2UgPSBjdHguc2VydmljZUluc3RhbmNlIGFzIElNbmdDcnVkQXBpU2VydmljZTxUPjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3J1ZFNlcnZpY2VJbnN0YW5jZS51cGRhdGVQdXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnBhcmFtZXRlcnM/Lml0ZW1JZCAmJiBjdHgucGFyYW1ldGVycy5pdGVtID8gY3J1ZFNlcnZpY2VJbnN0YW5jZS51cGRhdGVQdXQoY3R4LnBhcmFtZXRlcnMuaXRlbUlkLCBjdHgucGFyYW1ldGVycy5pdGVtKSA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5EZWxldGVTZXJ2aWNlPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8VCB8IG51bGw+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgY3R4LnNlcnZpY2VJbnN0YW5jZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGNydWRTZXJ2aWNlSW5zdGFuY2UgPSBjdHguc2VydmljZUluc3RhbmNlIGFzIElNbmdDcnVkQXBpU2VydmljZTxUPjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY3J1ZFNlcnZpY2VJbnN0YW5jZS5yZW1vdmVEZWxldGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnBhcmFtZXRlcnM/Lml0ZW1JZCA/IGNydWRTZXJ2aWNlSW5zdGFuY2UucmVtb3ZlRGVsZXRlKGN0eC5wYXJhbWV0ZXJzLml0ZW1JZCwgY3R4LnBhcmFtZXRlcnMuaXRlbSkgOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcnVuR2V0QWxsRGF0YVByb3ZpZGVyPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8TWVkaXVzUXVlcnlSZXN1bHQ8VD4+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgY3R4LmRhdGFQcm92aWRlciAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGN0eC5kYXRhUHJvdmlkZXJbJ2dldEFsbCcgYXMga2V5b2Ygb2JqZWN0XSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgY29uc3QgdGFibGVEYXRhUHJvdmlkZXIgPSBjdHguZGF0YVByb3ZpZGVyIGFzIElUYWJsZURhdGFQcm92aWRlcjxULCBhbnk+O1xuICAgICAgICAgICAgY29uc3QgcXVlcnlQYXJhbSA9IGN0eC5wYXJhbWV0ZXJzPy5xdWVyeVBhcmFtID8/IE1lZGl1c1F1ZXJ5UGFyYW1CdWlsZGVyLmNyZWF0ZSgpLmJ1aWxkKCk7XG4gICAgICAgICAgICByZXR1cm4gdG9PYnNlcnZhYmxlKHRhYmxlRGF0YVByb3ZpZGVyLmdldEFsbChxdWVyeVBhcmFtLCBjdHguc2VydmljZUluc3RhbmNlKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5GZXRjaERhdGFQcm92aWRlcjxULCBTPihjdHg6IEFjdGlvbkNvbnRleHQ8VCwgUz4pOiBPYnNlcnZhYmxlPFQ+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgY3R4LmRhdGFQcm92aWRlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRvckRhdGFQcm92aWRlciA9IGN0eC5kYXRhUHJvdmlkZXIgYXMgSUVkaXRvckRhdGFQcm92aWRlcjxULCBhbnk+O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBlZGl0b3JEYXRhUHJvdmlkZXIuZmV0Y2ggPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gY3R4LnBhcmFtZXRlcnM/Lml0ZW1JZCA/IHRvT2JzZXJ2YWJsZShlZGl0b3JEYXRhUHJvdmlkZXIuZmV0Y2goY3R4LnBhcmFtZXRlcnMuaXRlbUlkLCBjdHguc2VydmljZUluc3RhbmNlLCBjdHgucGFyYW1ldGVycy5sb2NhbGUpKSA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5DcmVhdGVEYXRhUHJvdmlkZXI8VCwgUz4oY3R4OiBBY3Rpb25Db250ZXh0PFQsIFM+KTogT2JzZXJ2YWJsZTxUPiB8IG51bGwge1xuICAgICAgICBpZiAodHlwZW9mIGN0eC5kYXRhUHJvdmlkZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBlZGl0b3JEYXRhUHJvdmlkZXIgPSBjdHguZGF0YVByb3ZpZGVyIGFzIElFZGl0b3JEYXRhUHJvdmlkZXI8VCwgYW55PjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZWRpdG9yRGF0YVByb3ZpZGVyLmNyZWF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHgucGFyYW1ldGVycz8uaXRlbSA/IHRvT2JzZXJ2YWJsZShlZGl0b3JEYXRhUHJvdmlkZXIuY3JlYXRlKGN0eC5wYXJhbWV0ZXJzLml0ZW0sIGN0eC5zZXJ2aWNlSW5zdGFuY2UpKSA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyBydW5VcGRhdGVEYXRhUHJvdmlkZXI8VCwgUz4oY3R4OiBBY3Rpb25Db250ZXh0PFQsIFM+KTogT2JzZXJ2YWJsZTxUPiB8IG51bGwge1xuICAgICAgICBpZiAodHlwZW9mIGN0eC5kYXRhUHJvdmlkZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICBjb25zdCBlZGl0b3JEYXRhUHJvdmlkZXIgPSBjdHguZGF0YVByb3ZpZGVyIGFzIElFZGl0b3JEYXRhUHJvdmlkZXI8VCwgYW55PjtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZWRpdG9yRGF0YVByb3ZpZGVyLnVwZGF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgICAgIHJldHVybiBjdHgucGFyYW1ldGVycz8uaXRlbUlkID8gdG9PYnNlcnZhYmxlKGVkaXRvckRhdGFQcm92aWRlci51cGRhdGUoY3R4LnBhcmFtZXRlcnMuaXRlbUlkLCBjdHgucGFyYW1ldGVycy5pdGVtLCBjdHguc2VydmljZUluc3RhbmNlKSkgOiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgcnVuRGVsZXRlRGF0YVByb3ZpZGVyPFQsIFM+KGN0eDogQWN0aW9uQ29udGV4dDxULCBTPik6IE9ic2VydmFibGU8VCB8IG51bGw+IHwgbnVsbCB7XG4gICAgICAgIGlmICh0eXBlb2YgY3R4LmRhdGFQcm92aWRlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkaXRvckRhdGFQcm92aWRlciA9IGN0eC5kYXRhUHJvdmlkZXIgYXMgSUVkaXRvckRhdGFQcm92aWRlcjxULCBhbnk+O1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBlZGl0b3JEYXRhUHJvdmlkZXIuZGVsZXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGN0eC5wYXJhbWV0ZXJzPy5pdGVtSWQgPyB0b09ic2VydmFibGUoZWRpdG9yRGF0YVByb3ZpZGVyLmRlbGV0ZShjdHgucGFyYW1ldGVycy5pdGVtSWQsIGN0eC5wYXJhbWV0ZXJzLml0ZW0sIGN0eC5zZXJ2aWNlSW5zdGFuY2UpKSA6IG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0cyBzZXJ2aWNlIGluc3RhbmNlIG9mIGRhdGEgcHJvdmlkZXIuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaW5qZWN0b3IgSW5qZWN0b3IgaW5zdGFuY2VcbiAgICAgKiBAcGFyYW0gZGF0YVByb3ZpZGVyIERhdGEgcHJvdmlkZXIgaW5zdGFuY2UuXG4gICAgICovXG4gICAgcHVibGljIHN0YXRpYyBnZXREYXRhUHJvdmlkZXJTZXJ2aWNlPFQsIFM+KGluamVjdG9yOiBJbmplY3RvciwgZGF0YVByb3ZpZGVyPzogSURhdGFQcm92aWRlcjxULCBTPik6IFMgfCBudWxsIHtcbiAgICAgICAgaWYgKGRhdGFQcm92aWRlcj8uc2VydmljZVR5cGUpIHtcbiAgICAgICAgICAgIGNvbnN0IHNlcnZpY2UgPSBpbmplY3Rvci5nZXQ8Uz4oZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlLCB1bmRlZmluZWQsIHtvcHRpb25hbDogdHJ1ZX0pO1xuICAgICAgICAgICAgaWYgKCFzZXJ2aWNlKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IE1uZ0ludGVybmFsRXJyb3IoYERhdGEgcHJvdmlkZXIgc2VydmljZSB0eXBlICR7ZGF0YVByb3ZpZGVyLnNlcnZpY2VUeXBlfSBjb3VsZCBub3QgYmUgaW5qZWN0ZWQuYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gc2VydmljZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { MediusFilterMatchType, MediusQueryMode, MediusQueryParam } from '../';
|
|
2
|
-
export declare class MediusQueryParamBuilder {
|
|
3
|
-
private queryParam;
|
|
4
|
-
private constructor();
|
|
5
|
-
static create(itemsPerPage?: number, itemsOffset?: number): MediusQueryParamBuilder;
|
|
6
|
-
static createFromExisting(queryParam: MediusQueryParam, itemsPerPage?: number, itemsOffset?: number): MediusQueryParamBuilder;
|
|
7
|
-
withItemsPerPage(itemsPerPage: number): MediusQueryParamBuilder;
|
|
8
|
-
withItemsOffset(itemsOffset: number): MediusQueryParamBuilder;
|
|
9
|
-
withQueryMode(queryMode: MediusQueryMode): MediusQueryParamBuilder;
|
|
10
|
-
withSort(property: string, asc?: boolean): MediusQueryParamBuilder;
|
|
11
|
-
withFilter(property: string, value: any, valueTo?: any, matchType?: MediusFilterMatchType, matchCaseSensitive?: boolean): MediusQueryParamBuilder;
|
|
12
|
-
build(): MediusQueryParam;
|
|
13
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { HttpParams } from '@angular/common/http';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { ClassType } from '../../types';
|
|
4
|
-
import { MediusQueryParam, MediusQueryResult } from '../models';
|
|
5
|
-
import { AMngApiService } from './api.abstract.service';
|
|
6
|
-
export interface IMngGetAllApiService<QRT extends MediusQueryResult<any>> {
|
|
7
|
-
getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams, locale?: string): Observable<QRT>;
|
|
8
|
-
}
|
|
9
|
-
export declare abstract class AMngGetAllApiService<T, QRT extends MediusQueryResult<any>> extends AMngApiService<T> implements IMngGetAllApiService<QRT> {
|
|
10
|
-
protected queryResultType: ClassType<QRT>;
|
|
11
|
-
protected constructor(type: ClassType<T>, queryResultType: ClassType<QRT>);
|
|
12
|
-
getAllPost(queryParamBody?: MediusQueryParam, params?: HttpParams, locale?: string): Observable<QRT>;
|
|
13
|
-
protected getGetAllPostPath(): string;
|
|
14
|
-
}
|
package/lib/api/utils/index.d.ts
DELETED