@smartsoft001/crud-shell-angular 1.1.732 → 1.1.736
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/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/lib/+state/crud.actions.js → esm2020/lib/+state/crud.actions.mjs} +0 -0
- package/esm2020/lib/+state/crud.effects.mjs +182 -0
- package/esm2020/lib/+state/crud.facade.mjs +88 -0
- package/esm2020/lib/+state/crud.reducer.mjs +212 -0
- package/{esm2015/lib/+state/crud.selectors.js → esm2020/lib/+state/crud.selectors.mjs} +0 -0
- package/esm2020/lib/components/components.module.mjs +109 -0
- package/esm2020/lib/components/export/export.component.mjs +47 -0
- package/esm2020/lib/components/filter/base/base.component.mjs +140 -0
- package/esm2020/lib/components/filter/check/check.component.mjs +36 -0
- package/esm2020/lib/components/filter/date/date.component.mjs +41 -0
- package/esm2020/lib/components/filter/date-with-edit/date-with-edit.component.mjs +45 -0
- package/esm2020/lib/components/filter/filter.component.mjs +29 -0
- package/esm2020/lib/components/filter/flag/flag.component.mjs +16 -0
- package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
- package/esm2020/lib/components/filter/int/int.component.mjs +33 -0
- package/esm2020/lib/components/filter/radio/radio.component.mjs +16 -0
- package/esm2020/lib/components/filter/text/text.component.mjs +16 -0
- package/esm2020/lib/components/filters/filters.component.mjs +111 -0
- package/esm2020/lib/components/filters-config/filters-config.component.mjs +37 -0
- package/esm2020/lib/components/group/group.component.mjs +54 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +68 -0
- package/esm2020/lib/crud-full.module.mjs +105 -0
- package/esm2020/lib/crud.config.mjs +17 -0
- package/esm2020/lib/crud.module.mjs +107 -0
- package/esm2020/lib/factories/list-pagination/list-pagination.factory.mjs +69 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/{esm2015/lib/models/interfaces.js → esm2020/lib/models/interfaces.mjs} +0 -0
- package/esm2020/lib/pages/index.mjs +7 -0
- package/esm2020/lib/pages/item/base/base.component.mjs +44 -0
- package/esm2020/lib/pages/item/item.component.mjs +393 -0
- package/esm2020/lib/pages/item/standard/standard.component.mjs +15 -0
- package/esm2020/lib/pages/list/base/base.component.mjs +23 -0
- package/esm2020/lib/pages/list/list.component.mjs +343 -0
- package/esm2020/lib/pages/list/standard/standard.component.mjs +34 -0
- package/esm2020/lib/pipes/form-options/form-options.pipe.mjs +55 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +0 -0
- package/esm2020/lib/pipes/pipes.module.mjs +20 -0
- package/{esm2015/lib/providers/model-possibilities/model-possibilities.provider.js → esm2020/lib/providers/model-possibilities/model-possibilities.provider.mjs} +0 -0
- package/esm2020/lib/services/crud/crud.service.mjs +138 -0
- package/esm2020/lib/services/list-group/list-group.service.mjs +60 -0
- package/esm2020/lib/services/page/page.service.mjs +41 -0
- package/{esm2015/lib/services/search/search.service.js → esm2020/lib/services/search/search.service.mjs} +9 -8
- package/esm2020/lib/services/socket/socket.service.mjs +17 -0
- package/esm2020/smartsoft001-crud-shell-angular.mjs +5 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs +2569 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs +2729 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/lib/+state/crud.effects.d.ts +3 -0
- package/lib/+state/crud.effects.d.ts.map +1 -1
- package/lib/+state/crud.facade.d.ts +3 -0
- package/lib/+state/crud.facade.d.ts.map +1 -1
- package/lib/components/components.module.d.ts +22 -0
- package/lib/components/components.module.d.ts.map +1 -1
- package/lib/components/export/export.component.d.ts +3 -0
- package/lib/components/export/export.component.d.ts.map +1 -1
- package/lib/components/filter/base/base.component.d.ts +3 -0
- package/lib/components/filter/base/base.component.d.ts.map +1 -1
- package/lib/components/filter/check/check.component.d.ts +3 -0
- package/lib/components/filter/check/check.component.d.ts.map +1 -1
- package/lib/components/filter/date/date.component.d.ts +3 -0
- package/lib/components/filter/date/date.component.d.ts.map +1 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +3 -0
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
- package/lib/components/filter/filter.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts.map +1 -1
- package/lib/components/filter/flag/flag.component.d.ts +3 -0
- package/lib/components/filter/flag/flag.component.d.ts.map +1 -1
- package/lib/components/filter/int/int.component.d.ts +3 -0
- package/lib/components/filter/int/int.component.d.ts.map +1 -1
- package/lib/components/filter/radio/radio.component.d.ts +3 -0
- package/lib/components/filter/radio/radio.component.d.ts.map +1 -1
- package/lib/components/filter/text/text.component.d.ts +3 -0
- package/lib/components/filter/text/text.component.d.ts.map +1 -1
- package/lib/components/filters/filters.component.d.ts +3 -0
- package/lib/components/filters/filters.component.d.ts.map +1 -1
- package/lib/components/filters-config/filters-config.component.d.ts +3 -0
- package/lib/components/filters-config/filters-config.component.d.ts.map +1 -1
- package/lib/components/group/group.component.d.ts +3 -0
- package/lib/components/group/group.component.d.ts.map +1 -1
- package/lib/components/multiselect/multiselect.component.d.ts +3 -0
- package/lib/components/multiselect/multiselect.component.d.ts.map +1 -1
- package/lib/crud-full.module.d.ts +20 -0
- package/lib/crud-full.module.d.ts.map +1 -1
- package/lib/crud.config.d.ts +18 -2
- package/lib/crud.config.d.ts.map +1 -1
- package/lib/crud.module.d.ts +13 -0
- package/lib/crud.module.d.ts.map +1 -1
- package/lib/factories/list-pagination/list-pagination.factory.d.ts +3 -0
- package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +1 -1
- package/lib/pages/index.d.ts +5 -1
- package/lib/pages/index.d.ts.map +1 -1
- package/lib/pages/item/base/base.component.d.ts +3 -0
- package/lib/pages/item/base/base.component.d.ts.map +1 -1
- package/lib/pages/item/item.component.d.ts +7 -1
- package/lib/pages/item/item.component.d.ts.map +1 -1
- package/lib/pages/item/standard/standard.component.d.ts +3 -0
- package/lib/pages/item/standard/standard.component.d.ts.map +1 -1
- package/lib/pages/list/base/base.component.d.ts +3 -0
- package/lib/pages/list/base/base.component.d.ts.map +1 -1
- package/lib/pages/list/list.component.d.ts +3 -0
- package/lib/pages/list/list.component.d.ts.map +1 -1
- package/lib/pages/list/standard/standard.component.d.ts +3 -0
- package/lib/pages/list/standard/standard.component.d.ts.map +1 -1
- package/lib/pipes/form-options/form-options.pipe.d.ts +3 -0
- package/lib/pipes/form-options/form-options.pipe.d.ts.map +1 -1
- package/lib/pipes/pipes.module.d.ts +5 -0
- package/lib/pipes/pipes.module.d.ts.map +1 -1
- package/lib/services/crud/crud.service.d.ts +3 -0
- package/lib/services/crud/crud.service.d.ts.map +1 -1
- package/lib/services/list-group/list-group.service.d.ts +3 -0
- package/lib/services/list-group/list-group.service.d.ts.map +1 -1
- package/lib/services/page/page.service.d.ts +3 -0
- package/lib/services/page/page.service.d.ts.map +1 -1
- package/lib/services/search/search.service.d.ts +3 -0
- package/lib/services/search/search.service.d.ts.map +1 -1
- package/lib/services/socket/socket.service.d.ts +5 -0
- package/lib/services/socket/socket.service.d.ts.map +1 -1
- package/package.json +38 -25
- package/smartsoft001-crud-shell-angular.d.ts +1 -17
- package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
- package/bundles/smartsoft001-crud-shell-angular.umd.js +0 -3283
- package/bundles/smartsoft001-crud-shell-angular.umd.js.map +0 -1
- package/esm2015/lib/+state/crud.effects.js +0 -178
- package/esm2015/lib/+state/crud.facade.js +0 -92
- package/esm2015/lib/+state/crud.reducer.js +0 -92
- package/esm2015/lib/components/components.module.js +0 -65
- package/esm2015/lib/components/export/export.component.js +0 -55
- package/esm2015/lib/components/filter/base/base.component.js +0 -144
- package/esm2015/lib/components/filter/check/check.component.js +0 -34
- package/esm2015/lib/components/filter/date/date.component.js +0 -42
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +0 -43
- package/esm2015/lib/components/filter/filter.component.js +0 -30
- package/esm2015/lib/components/filter/flag/flag.component.js +0 -13
- package/esm2015/lib/components/filter/int/int.component.js +0 -31
- package/esm2015/lib/components/filter/radio/radio.component.js +0 -13
- package/esm2015/lib/components/filter/text/text.component.js +0 -13
- package/esm2015/lib/components/filters/filters.component.js +0 -124
- package/esm2015/lib/components/filters-config/filters-config.component.js +0 -46
- package/esm2015/lib/components/group/group.component.js +0 -65
- package/esm2015/lib/components/multiselect/multiselect.component.js +0 -74
- package/esm2015/lib/crud-full.module.js +0 -83
- package/esm2015/lib/crud.config.js +0 -14
- package/esm2015/lib/crud.module.js +0 -84
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +0 -73
- package/esm2015/lib/pages/index.js +0 -3
- package/esm2015/lib/pages/item/base/base.component.js +0 -44
- package/esm2015/lib/pages/item/item.component.js +0 -345
- package/esm2015/lib/pages/item/standard/standard.component.js +0 -13
- package/esm2015/lib/pages/list/base/base.component.js +0 -30
- package/esm2015/lib/pages/list/list.component.js +0 -319
- package/esm2015/lib/pages/list/standard/standard.component.js +0 -39
- package/esm2015/lib/pipes/form-options/form-options.pipe.js +0 -56
- package/esm2015/lib/pipes/pipes.module.js +0 -16
- package/esm2015/lib/services/crud/crud.service.js +0 -143
- package/esm2015/lib/services/list-group/list-group.service.js +0 -61
- package/esm2015/lib/services/page/page.service.js +0 -48
- package/esm2015/lib/services/socket/socket.service.js +0 -14
- package/esm2015/smartsoft001-crud-shell-angular.js +0 -22
- package/fesm2015/smartsoft001-crud-shell-angular.js +0 -2638
- package/fesm2015/smartsoft001-crud-shell-angular.js.map +0 -1
- package/lib/+state/crud.effects.ngfactory.d.ts.map +0 -1
- package/lib/+state/crud.facade.ngfactory.d.ts.map +0 -1
- package/lib/components/components.module.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/filter.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/filter.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters/filters.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters/filters.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/group/group.component.ngfactory.d.ts.map +0 -1
- package/lib/components/group/group.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.ngfactory.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/crud-full.module.ngfactory.d.ts.map +0 -1
- package/lib/crud.config.ngfactory.d.ts.map +0 -1
- package/lib/crud.module.ngfactory.d.ts.map +0 -1
- package/lib/factories/list-pagination/list-pagination.factory.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/item.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pages/list/list.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pipes/form-options/form-options.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/pipes.module.ngfactory.d.ts.map +0 -1
- package/lib/services/crud/crud.service.ngfactory.d.ts.map +0 -1
- package/lib/services/list-group/list-group.service.ngfactory.d.ts.map +0 -1
- package/lib/services/page/page.service.ngfactory.d.ts.map +0 -1
- package/lib/services/search/search.service.ngfactory.d.ts.map +0 -1
- package/lib/services/socket/socket.service.ngfactory.d.ts.map +0 -1
- package/smartsoft001-crud-shell-angular.metadata.json +0 -1
|
@@ -1,319 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from "tslib";
|
|
2
|
-
import { ChangeDetectorRef, Component, ComponentFactoryResolver, ElementRef, Injector, NgModuleRef, QueryList, TemplateRef, ViewChild, ViewChildren, ViewContainerRef, } from "@angular/core";
|
|
3
|
-
import { map, tap } from "rxjs/operators";
|
|
4
|
-
import { Router } from "@angular/router";
|
|
5
|
-
import { CreateDynamicComponent, DynamicComponentLoader, DynamicContentDirective, HardwareService, ListMode, MenuService, StyleService, } from "@smartsoft001/angular";
|
|
6
|
-
import { getModelFieldsWithOptions, getModelOptions, } from "@smartsoft001/models";
|
|
7
|
-
import { CrudFacade } from "../../+state/crud.facade";
|
|
8
|
-
import { CrudFullConfig } from "../../crud.config";
|
|
9
|
-
import { ExportComponent } from "../../components/export/export.component";
|
|
10
|
-
import { FiltersComponent } from "../../components/filters/filters.component";
|
|
11
|
-
import { MultiselectComponent } from "../../components/multiselect/multiselect.component";
|
|
12
|
-
import { CrudListPaginationFactory } from "../../factories/list-pagination/list-pagination.factory";
|
|
13
|
-
import { PageService } from "../../services/page/page.service";
|
|
14
|
-
import { CrudSearchService } from "../../services/search/search.service";
|
|
15
|
-
export class ListComponent extends CreateDynamicComponent('crud-list-page') {
|
|
16
|
-
constructor(facade, router, dynamicComponentLoader, injector, cd, menuService, hardwareService, paginationFacade, styleService, elementRef, pageService, config, searchService, moduleRef, componentFactoryResolver) {
|
|
17
|
-
super(cd, moduleRef, componentFactoryResolver);
|
|
18
|
-
this.facade = facade;
|
|
19
|
-
this.router = router;
|
|
20
|
-
this.dynamicComponentLoader = dynamicComponentLoader;
|
|
21
|
-
this.injector = injector;
|
|
22
|
-
this.cd = cd;
|
|
23
|
-
this.menuService = menuService;
|
|
24
|
-
this.hardwareService = hardwareService;
|
|
25
|
-
this.paginationFacade = paginationFacade;
|
|
26
|
-
this.styleService = styleService;
|
|
27
|
-
this.elementRef = elementRef;
|
|
28
|
-
this.pageService = pageService;
|
|
29
|
-
this.config = config;
|
|
30
|
-
this.searchService = searchService;
|
|
31
|
-
this.moduleRef = moduleRef;
|
|
32
|
-
this.componentFactoryResolver = componentFactoryResolver;
|
|
33
|
-
this.filter$ = this.facade.filter$.pipe(tap((filter) => {
|
|
34
|
-
this.filter = filter;
|
|
35
|
-
}));
|
|
36
|
-
this.dynamicContents = new QueryList();
|
|
37
|
-
this.facade.links$.pipe(this.takeUntilDestroy).subscribe((links) => {
|
|
38
|
-
this.links = links;
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
refreshProperties() {
|
|
42
|
-
this.baseInstance.listOptions = this.listOptions;
|
|
43
|
-
}
|
|
44
|
-
ngOnInit() {
|
|
45
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
46
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
yield this.pageService.checkPermissions();
|
|
48
|
-
let newFilter = null;
|
|
49
|
-
if (((_a = this.config.list) === null || _a === void 0 ? void 0 : _a.resetQuery) === 'beforeInit') {
|
|
50
|
-
newFilter = Object.assign({ query: this.config.baseQuery ? [...this.config.baseQuery] : [], paginationMode: this.config.list.paginationMode, limit: this.config.pagination ? this.config.pagination.limit : null, offset: this.config.pagination ? 0 : null, sortBy: this.config.sort ? this.config.sort["default"] : null, sortDesc: this.config.sort ? this.config.sort["defaultDesc"] : null }, this.searchService.filter);
|
|
51
|
-
}
|
|
52
|
-
else if (this.filter) {
|
|
53
|
-
newFilter = this.filter;
|
|
54
|
-
}
|
|
55
|
-
else {
|
|
56
|
-
newFilter = Object.assign({ paginationMode: this.config.list.paginationMode, limit: ((_b = this.searchService.filter) === null || _b === void 0 ? void 0 : _b.limit) ? this.searchService.filter.limit : this.config.pagination
|
|
57
|
-
? this.config.pagination.limit : null, offset: ((_c = this.searchService.filter) === null || _c === void 0 ? void 0 : _c.offset) || ((_d = this.searchService.filter) === null || _d === void 0 ? void 0 : _d.offset) === 0
|
|
58
|
-
? this.searchService.filter.offset : this.config.pagination ? 0 : null, sortBy: ((_e = this.searchService.filter) === null || _e === void 0 ? void 0 : _e.sortBy) ? this.searchService.filter.sortBy : this.config.sort
|
|
59
|
-
? this.config.sort["default"] : null, sortDesc: ((_f = this.searchService.filter) === null || _f === void 0 ? void 0 : _f.sortDesc) ? this.searchService.filter.sortDesc : this.config.sort
|
|
60
|
-
? this.config.sort["defaultDesc"] : null, query: this.config.baseQuery ? [...this.config.baseQuery] : [] }, this.searchService.filter);
|
|
61
|
-
}
|
|
62
|
-
this.facade.read(newFilter);
|
|
63
|
-
const endButtons = this.getEndButtons();
|
|
64
|
-
this.pageOptions = {
|
|
65
|
-
title: this.config.title,
|
|
66
|
-
search: this.config.search
|
|
67
|
-
? {
|
|
68
|
-
text$: this.filter$.pipe(map((f) => (f ? f.searchText : null))),
|
|
69
|
-
set: (txt) => {
|
|
70
|
-
if (txt !== this.filter.searchText)
|
|
71
|
-
this.facade.read(Object.assign(Object.assign({}, this.filter), { searchText: txt, offset: 0 }));
|
|
72
|
-
},
|
|
73
|
-
}
|
|
74
|
-
: null,
|
|
75
|
-
endButtons: endButtons,
|
|
76
|
-
};
|
|
77
|
-
const compiledComponents = yield this.dynamicComponentLoader.getComponentsWithFactories({
|
|
78
|
-
components: [
|
|
79
|
-
...(this.config.details &&
|
|
80
|
-
this.config.details["components"] &&
|
|
81
|
-
this.config.details["components"].top
|
|
82
|
-
? [this.config.details["components"].top]
|
|
83
|
-
: []),
|
|
84
|
-
...(this.config.details &&
|
|
85
|
-
this.config.details["components"] &&
|
|
86
|
-
this.config.details["components"].bottom
|
|
87
|
-
? [this.config.details["components"].bottom]
|
|
88
|
-
: []),
|
|
89
|
-
...(this.config.list &&
|
|
90
|
-
this.config.list["components"] &&
|
|
91
|
-
this.config.list["components"].top
|
|
92
|
-
? [this.config.list["components"].top]
|
|
93
|
-
: []),
|
|
94
|
-
],
|
|
95
|
-
});
|
|
96
|
-
this.listOptions = {
|
|
97
|
-
provider: {
|
|
98
|
-
getData: (filter) => {
|
|
99
|
-
const global = Object.assign(Object.assign({}, this.filter), filter);
|
|
100
|
-
this.facade.read(global);
|
|
101
|
-
},
|
|
102
|
-
onChangeMultiSelected: (list) => __awaiter(this, void 0, void 0, function* () {
|
|
103
|
-
if (list.length && !this.menuService.openedEnd) {
|
|
104
|
-
yield this.menuService.openEnd({
|
|
105
|
-
injector: this.injector,
|
|
106
|
-
component: MultiselectComponent,
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
else if (!list.length && this.menuService.openedEnd) {
|
|
110
|
-
yield this.menuService.closeEnd();
|
|
111
|
-
}
|
|
112
|
-
this.facade.multiSelect(list);
|
|
113
|
-
}),
|
|
114
|
-
list$: this.facade.list$,
|
|
115
|
-
loading$: this.facade.loaded$.pipe(map((l) => !l)),
|
|
116
|
-
},
|
|
117
|
-
cellPipe: this.config.list ? this.config.list.cellPipe : null,
|
|
118
|
-
mode: (_g = this.config.list) === null || _g === void 0 ? void 0 : _g.mode,
|
|
119
|
-
type: this.config.type,
|
|
120
|
-
details: this.config.details
|
|
121
|
-
? {
|
|
122
|
-
provider: {
|
|
123
|
-
getData: (id) => {
|
|
124
|
-
this.facade.select(id);
|
|
125
|
-
},
|
|
126
|
-
clearData: () => {
|
|
127
|
-
this.facade.unselect();
|
|
128
|
-
},
|
|
129
|
-
item$: this.facade.selected$,
|
|
130
|
-
loading$: this.facade.loaded$.pipe(map((l) => !l)),
|
|
131
|
-
},
|
|
132
|
-
componentFactories: {
|
|
133
|
-
top: this.config.details &&
|
|
134
|
-
this.config.details["components"] &&
|
|
135
|
-
this.config.details["components"].top
|
|
136
|
-
? compiledComponents.find((cc) => cc.component === this.config.details["components"].top).factory
|
|
137
|
-
: null,
|
|
138
|
-
bottom: this.config.details &&
|
|
139
|
-
this.config.details["components"] &&
|
|
140
|
-
this.config.details["components"].bottom
|
|
141
|
-
? compiledComponents.find((cc) => cc.component ===
|
|
142
|
-
this.config.details["components"].bottom).factory
|
|
143
|
-
: null,
|
|
144
|
-
},
|
|
145
|
-
}
|
|
146
|
-
: null,
|
|
147
|
-
item: this.config.edit || this.config.details
|
|
148
|
-
? {
|
|
149
|
-
options: {
|
|
150
|
-
routingPrefix: "/" + this.router.routerState.snapshot.url + "/",
|
|
151
|
-
edit: this.config.edit,
|
|
152
|
-
},
|
|
153
|
-
}
|
|
154
|
-
: null,
|
|
155
|
-
remove: this.config.remove
|
|
156
|
-
? {
|
|
157
|
-
provider: {
|
|
158
|
-
invoke: (id) => this.facade.delete(id),
|
|
159
|
-
},
|
|
160
|
-
}
|
|
161
|
-
: null,
|
|
162
|
-
pagination: yield this.paginationFacade.create({
|
|
163
|
-
mode: this.config.list.paginationMode,
|
|
164
|
-
limit: this.config.pagination.limit,
|
|
165
|
-
provider: {
|
|
166
|
-
getFilter: () => {
|
|
167
|
-
return this.filter;
|
|
168
|
-
},
|
|
169
|
-
getLinks: () => this.links,
|
|
170
|
-
},
|
|
171
|
-
}),
|
|
172
|
-
sort: this.config.sort,
|
|
173
|
-
};
|
|
174
|
-
this.cd.detectChanges();
|
|
175
|
-
this.initCloseMenu();
|
|
176
|
-
this.initTopComponent(compiledComponents);
|
|
177
|
-
this.refreshDynamicInstance();
|
|
178
|
-
});
|
|
179
|
-
}
|
|
180
|
-
initCloseMenu() {
|
|
181
|
-
this.router.events.pipe(this.takeUntilDestroy).subscribe(() => __awaiter(this, void 0, void 0, function* () {
|
|
182
|
-
yield this.clear();
|
|
183
|
-
}));
|
|
184
|
-
}
|
|
185
|
-
clear() {
|
|
186
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
187
|
-
yield this.menuService.closeEnd();
|
|
188
|
-
this.listOptions = Object.assign(Object.assign({}, this.listOptions), { select: null });
|
|
189
|
-
this.facade.multiSelect([]);
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
getEndButtons() {
|
|
193
|
-
var _a, _b, _c, _d, _e;
|
|
194
|
-
const fieldsWithOptions = getModelFieldsWithOptions(new this.config.type());
|
|
195
|
-
const modelOptions = getModelOptions(this.config.type);
|
|
196
|
-
const showFilters = fieldsWithOptions.some((x) => { var _a, _b; return (_b = (_a = x.options) === null || _a === void 0 ? void 0 : _a.list) === null || _b === void 0 ? void 0 : _b.filter; }) || ((_a = modelOptions === null || modelOptions === void 0 ? void 0 : modelOptions.filters) === null || _a === void 0 ? void 0 : _a.length);
|
|
197
|
-
const showMultiEdit = this.config.edit &&
|
|
198
|
-
fieldsWithOptions.some((x) => { var _a, _b; return (_b = (_a = x.options) === null || _a === void 0 ? void 0 : _a.update) === null || _b === void 0 ? void 0 : _b.multi; }) &&
|
|
199
|
-
!this.hardwareService.isMobile &&
|
|
200
|
-
(!((_c = (_b = this.config) === null || _b === void 0 ? void 0 : _b.list) === null || _c === void 0 ? void 0 : _c.mode) ||
|
|
201
|
-
((_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.list) === null || _e === void 0 ? void 0 : _e.mode) === ListMode.desktop);
|
|
202
|
-
return [
|
|
203
|
-
...(showMultiEdit
|
|
204
|
-
? [
|
|
205
|
-
{
|
|
206
|
-
icon: "checkbox-outline",
|
|
207
|
-
text: "multi",
|
|
208
|
-
handler: () => __awaiter(this, void 0, void 0, function* () {
|
|
209
|
-
this.listOptions = Object.assign(Object.assign({}, this.listOptions), { select: this.listOptions.select === "multi" ? null : "multi" });
|
|
210
|
-
this.facade.multiSelect([]);
|
|
211
|
-
if (this.menuService.openedEnd)
|
|
212
|
-
yield this.menuService.closeEnd();
|
|
213
|
-
this.cd.detectChanges();
|
|
214
|
-
}),
|
|
215
|
-
},
|
|
216
|
-
]
|
|
217
|
-
: []),
|
|
218
|
-
...(showFilters
|
|
219
|
-
? [
|
|
220
|
-
{
|
|
221
|
-
icon: "filter-outline",
|
|
222
|
-
text: "filters",
|
|
223
|
-
handler: () => __awaiter(this, void 0, void 0, function* () {
|
|
224
|
-
yield this.menuService.openEnd({
|
|
225
|
-
injector: this.injector,
|
|
226
|
-
component: FiltersComponent,
|
|
227
|
-
});
|
|
228
|
-
}),
|
|
229
|
-
},
|
|
230
|
-
]
|
|
231
|
-
: []),
|
|
232
|
-
...(this.config.add
|
|
233
|
-
? [
|
|
234
|
-
{
|
|
235
|
-
icon: "add",
|
|
236
|
-
text: "add",
|
|
237
|
-
handler: () => {
|
|
238
|
-
this.router.navigate([
|
|
239
|
-
"/" + this.router.routerState.snapshot.url + "/add",
|
|
240
|
-
]);
|
|
241
|
-
},
|
|
242
|
-
},
|
|
243
|
-
]
|
|
244
|
-
: []),
|
|
245
|
-
...(this.config.export
|
|
246
|
-
? [
|
|
247
|
-
{
|
|
248
|
-
text: "export",
|
|
249
|
-
icon: "download-outline",
|
|
250
|
-
type: "popover",
|
|
251
|
-
component: ExportComponent,
|
|
252
|
-
},
|
|
253
|
-
]
|
|
254
|
-
: []),
|
|
255
|
-
...(this.config.buttons ? this.config.buttons : []),
|
|
256
|
-
];
|
|
257
|
-
}
|
|
258
|
-
initTopComponent(compiledComponents) {
|
|
259
|
-
const factory = this.config.list &&
|
|
260
|
-
this.config.list["components"] &&
|
|
261
|
-
this.config.list["components"].top
|
|
262
|
-
? compiledComponents.find((cc) => cc.component === this.config.list["components"].top).factory
|
|
263
|
-
: null;
|
|
264
|
-
setTimeout(() => {
|
|
265
|
-
if (factory && !this.topTpl.get(0)) {
|
|
266
|
-
this.topTpl.createComponent(factory);
|
|
267
|
-
}
|
|
268
|
-
});
|
|
269
|
-
}
|
|
270
|
-
}
|
|
271
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
272
|
-
ListComponent.decorators = [
|
|
273
|
-
{ type: Component, args: [{
|
|
274
|
-
selector: "smart-crud-list-page",
|
|
275
|
-
template: `
|
|
276
|
-
<smart-page [options]="pageOptions" *ngIf="filter$ | async">
|
|
277
|
-
<div #topTpl></div>
|
|
278
|
-
<smart-crud-list-standard-page *ngIf="template === 'default'" [listOptions]="listOptions">
|
|
279
|
-
<ng-container [ngTemplateOutlet]="contentTpl"></ng-container>
|
|
280
|
-
</smart-crud-list-standard-page>
|
|
281
|
-
<ng-template #contentTpl>
|
|
282
|
-
<ng-content></ng-content>
|
|
283
|
-
</ng-template>
|
|
284
|
-
<div class="dynamic-content"></div>
|
|
285
|
-
</smart-page>
|
|
286
|
-
`
|
|
287
|
-
},] }
|
|
288
|
-
];
|
|
289
|
-
/**
|
|
290
|
-
* @type {function(): !Array<(null|{
|
|
291
|
-
* type: ?,
|
|
292
|
-
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
293
|
-
* })>}
|
|
294
|
-
* @nocollapse
|
|
295
|
-
*/
|
|
296
|
-
ListComponent.ctorParameters = () => [
|
|
297
|
-
{ type: CrudFacade },
|
|
298
|
-
{ type: Router },
|
|
299
|
-
{ type: DynamicComponentLoader },
|
|
300
|
-
{ type: Injector },
|
|
301
|
-
{ type: ChangeDetectorRef },
|
|
302
|
-
{ type: MenuService },
|
|
303
|
-
{ type: HardwareService },
|
|
304
|
-
{ type: CrudListPaginationFactory },
|
|
305
|
-
{ type: StyleService },
|
|
306
|
-
{ type: ElementRef },
|
|
307
|
-
{ type: PageService },
|
|
308
|
-
{ type: CrudFullConfig },
|
|
309
|
-
{ type: CrudSearchService },
|
|
310
|
-
{ type: NgModuleRef },
|
|
311
|
-
{ type: ComponentFactoryResolver }
|
|
312
|
-
];
|
|
313
|
-
/** @type {!Object<string, !Array<{type: !Function, args: (undefined|!Array<?>)}>>} */
|
|
314
|
-
ListComponent.propDecorators = {
|
|
315
|
-
topTpl: [{ type: ViewChild, args: ["topTpl", { read: ViewContainerRef, static: false },] }],
|
|
316
|
-
contentTpl: [{ type: ViewChild, args: ["contentTpl", { read: TemplateRef, static: false },] }],
|
|
317
|
-
dynamicContents: [{ type: ViewChildren, args: [DynamicContentDirective, { read: DynamicContentDirective },] }]
|
|
318
|
-
};
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3BhZ2VzL2xpc3QvbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxpQkFBaUIsRUFDakIsU0FBUyxFQUNTLHdCQUF3QixFQUFFLFVBQVUsRUFDdEQsUUFBUSxFQUFFLFdBQVcsRUFDYixTQUFTLEVBQUUsV0FBVyxFQUM5QixTQUFTLEVBQUUsWUFBWSxFQUN2QixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFJekMsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixzQkFBc0IsRUFBRSx1QkFBdUIsRUFDL0MsZUFBZSxFQUlmLFFBQVEsRUFDUixXQUFXLEVBQUUsWUFBWSxHQUMxQixNQUFNLHVCQUF1QixDQUFDO0FBRS9CLE9BQU8sRUFDTCx5QkFBeUIsRUFDekIsZUFBZSxHQUdoQixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDO0FBQzFGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLHlEQUF5RCxDQUFDO0FBQ3BHLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxrQ0FBa0Ms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LENBQUM7SUFDTCxDQUFDOzs7O1lBcldGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7O0dBV1Q7YUFDRjs7Ozs7Ozs7OztZQXpCUSxVQUFVO1lBdEJWLE1BQU07WUFNYixzQkFBc0I7WUFadEIsUUFBUTtZQUhSLGlCQUFpQjtZQXFCakIsV0FBVztZQUxYLGVBQWU7WUFxQlIseUJBQXlCO1lBaEJuQixZQUFZO1lBbkJtQixVQUFVO1lBb0NoRCxXQUFXO1lBTlYsY0FBYztZQVFmLGlCQUFpQjtZQXJDYixXQUFXO1lBREgsd0JBQXdCOzs7O3FCQXNFekMsU0FBUyxTQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3lCQUc3RCxTQUFTLFNBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzhCQUc1RCxZQUFZLFNBQUMsdUJBQXVCLEVBQUUsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRGYWN0b3J5LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVsZW1lbnRSZWYsXG4gIEluamVjdG9yLCBOZ01vZHVsZVJlZiwgT25EZXN0cm95LFxuICBPbkluaXQsIFF1ZXJ5TGlzdCwgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCwgVmlld0NoaWxkcmVuLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgbWFwLCB0YXAgfSBmcm9tIFwicnhqcy9vcGVyYXRvcnNcIjtcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0ICogYXMgXyBmcm9tIFwibG9kYXNoXCI7XG5cbmltcG9ydCB7XG4gIENyZWF0ZUR5bmFtaWNDb21wb25lbnQsXG4gIER5bmFtaWNDb21wb25lbnRMb2FkZXIsIER5bmFtaWNDb250ZW50RGlyZWN0aXZlLFxuICBIYXJkd2FyZVNlcnZpY2UsXG4gIElJY29uQnV0dG9uT3B0aW9ucyxcbiAgSUxpc3RPcHRpb25zLFxuICBJUGFnZU9wdGlvbnMsXG4gIExpc3RNb2RlLFxuICBNZW51U2VydmljZSwgU3R5bGVTZXJ2aWNlLFxufSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7XG4gIGdldE1vZGVsRmllbGRzV2l0aE9wdGlvbnMsXG4gIGdldE1vZGVsT3B0aW9ucyxcbiAgSUZpZWxkRWRpdE1ldGFkYXRhLFxuICBJRmllbGRMaXN0TWV0YWRhdGEsXG59IGZyb20gXCJAc21hcnRzb2Z0MDAxL21vZGVsc1wiO1xuXG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSBcIi4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZVwiO1xuaW1wb3J0IHsgQ3J1ZEZ1bGxDb25maWcgfSBmcm9tIFwiLi4vLi4vY3J1ZC5jb25maWdcIjtcbmltcG9ydCB7IElDcnVkRmlsdGVyIH0gZnJvbSBcIi4uLy4uL21vZGVscy9pbnRlcmZhY2VzXCI7XG5pbXBvcnQgeyBFeHBvcnRDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9leHBvcnQvZXhwb3J0LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRmlsdGVyc0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnRcIjtcbmltcG9ydCB7IE11bHRpc2VsZWN0Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbXVsdGlzZWxlY3QvbXVsdGlzZWxlY3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5IH0gZnJvbSBcIi4uLy4uL2ZhY3Rvcmllcy9saXN0LXBhZ2luYXRpb24vbGlzdC1wYWdpbmF0aW9uLmZhY3RvcnlcIjtcbmltcG9ydCB7UGFnZVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZVwiO1xuaW1wb3J0IHtDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi9iYXNlL2Jhc2UuY29tcG9uZW50XCI7XG5pbXBvcnQge0NydWRTZWFyY2hTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvc2VhcmNoL3NlYXJjaC5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJzbWFydC1jcnVkLWxpc3QtcGFnZVwiLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxzbWFydC1wYWdlIFtvcHRpb25zXT1cInBhZ2VPcHRpb25zXCIgKm5nSWY9XCJmaWx0ZXIkIHwgYXN5bmNcIj5cbiAgICAgIDxkaXYgI3RvcFRwbD48L2Rpdj5cbiAgICAgIDxzbWFydC1jcnVkLWxpc3Qtc3RhbmRhcmQtcGFnZSAqbmdJZj1cInRlbXBsYXRlID09PSAnZGVmYXVsdCdcIiBbbGlzdE9wdGlvbnNdPVwibGlzdE9wdGlvbnNcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY29udGVudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPC9zbWFydC1jcnVkLWxpc3Qtc3RhbmRhcmQtcGFnZT5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJkeW5hbWljLWNvbnRlbnRcIj48L2Rpdj5cbiAgICA8L3NtYXJ0LXBhZ2U+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PlxuICAgIGV4dGVuZHMgQ3JlYXRlRHluYW1pY0NvbXBvbmVudDxDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50PGFueT4+KCdjcnVkLWxpc3QtcGFnZScpXG4gIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3lcbntcbiAgcGFnZU9wdGlvbnM6IElQYWdlT3B0aW9ucztcbiAgbGlzdE9wdGlvbnM6IElMaXN0T3B0aW9uczxUPjtcbiAgZmlsdGVyOiBJQ3J1ZEZpbHRlcjtcbiAgbGlua3M6IHsgbmV4dDsgcHJldiB9O1xuXG4gIGZpbHRlciQ6IE9ic2VydmFibGU8SUNydWRGaWx0ZXI+ID0gdGhpcy5mYWNhZGUuZmlsdGVyJC5waXBlKFxuICAgIHRhcCgoZmlsdGVyKSA9PiB7XG4gICAgICB0aGlzLmZpbHRlciA9IGZpbHRlcjtcbiAgICB9KVxuICApO1xuXG4gIEBWaWV3Q2hpbGQoXCJ0b3BUcGxcIiwgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIHRvcFRwbDogVmlld0NvbnRhaW5lclJlZjtcblxuICBAVmlld0NoaWxkKFwiY29udGVudFRwbFwiLCB7IHJlYWQ6IFRlbXBsYXRlUmVmLCBzdGF0aWM6IGZhbHNlIH0pXG4gIGNvbnRlbnRUcGw6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgQFZpZXdDaGlsZHJlbihEeW5hbWljQ29udGVudERpcmVjdGl2ZSwgeyByZWFkOiBEeW5hbWljQ29udGVudERpcmVjdGl2ZSB9KVxuICBkeW5hbWljQ29udGVudHMgPSBuZXcgUXVlcnlMaXN0PER5bmFtaWNDb250ZW50RGlyZWN0aXZlPigpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZmFjYWRlOiBDcnVkRmFjYWRlPFQ+LFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBkeW5hbWljQ29tcG9uZW50TG9hZGVyOiBEeW5hbWljQ29tcG9uZW50TG9hZGVyPFQ+LFxuICAgIHByaXZhdGUgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIHByaXZhdGUgbWVudVNlcnZpY2U6IE1lbnVTZXJ2aWNlLFxuICAgIHByaXZhdGUgaGFyZHdhcmVTZXJ2aWNlOiBIYXJkd2FyZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBwYWdpbmF0aW9uRmFjYWRlOiBDcnVkTGlzdFBhZ2luYXRpb25GYWN0b3J5PFQ+LFxuICAgIHByaXZhdGUgc3R5bGVTZXJ2aWNlOiBTdHlsZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcGFnZVNlcnZpY2U6IFBhZ2VTZXJ2aWNlPFQ+LFxuICAgIHB1YmxpYyBjb25maWc6IENydWRGdWxsQ29uZmlnPFQ+LFxuICAgIHByaXZhdGUgc2VhcmNoU2VydmljZTogQ3J1ZFNlYXJjaFNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtb2R1bGVSZWY6IE5nTW9kdWxlUmVmPGFueT4sXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlclxuICApIHtcbiAgICBzdXBlcihjZCwgbW9kdWxlUmVmLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpO1xuXG4gICAgdGhpcy5mYWNhZGUubGlua3MkLnBpcGUodGhpcy50YWtlVW50aWxEZXN0cm95KS5zdWJzY3JpYmUoKGxpbmtzKSA9PiB7XG4gICAgICB0aGlzLmxpbmtzID0gbGlua3M7XG4gICAgfSk7XG4gIH1cblxuICByZWZyZXNoUHJvcGVydGllcygpOiB2b2lkIHtcbiAgICB0aGlzLmJhc2VJbnN0YW5jZS5saXN0T3B0aW9ucyA9IHRoaXMubGlzdE9wdGlvbnM7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnBhZ2VTZXJ2aWNlLmNoZWNrUGVybWlzc2lvbnMoKTtcblxuICAgIGxldCBuZXdGaWx0ZXIgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuY29uZmlnLmxpc3Q/LnJlc2V0UXVlcnkgPT09ICdiZWZvcmVJbml0Jykge1xuICAgICAgbmV3RmlsdGVyID0ge1xuICAgICAgICBxdWVyeTogdGhpcy5jb25maWcuYmFzZVF1ZXJ5ID8gWyAuLi50aGlzLmNvbmZpZy5iYXNlUXVlcnkgXSA6IFtdLFxuICAgICAgICBwYWdpbmF0aW9uTW9kZTogdGhpcy5jb25maWcubGlzdC5wYWdpbmF0aW9uTW9kZSxcbiAgICAgICAgbGltaXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uLmxpbWl0IDogbnVsbCxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uID8gMCA6IG51bGwsXG4gICAgICAgIHNvcnRCeTogdGhpcy5jb25maWcuc29ydCA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0XCJdIDogbnVsbCxcbiAgICAgICAgc29ydERlc2M6IHRoaXMuY29uZmlnLnNvcnQgPyB0aGlzLmNvbmZpZy5zb3J0W1wiZGVmYXVsdERlc2NcIl0gOiBudWxsLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyXG4gICAgICB9O1xuICAgIH0gZWxzZSBpZiAodGhpcy5maWx0ZXIpIHtcbiAgICAgIG5ld0ZpbHRlciA9IHRoaXMuZmlsdGVyO1xuICAgIH0gZWxzZSB7XG4gICAgICBuZXdGaWx0ZXIgPSB7XG4gICAgICAgIHBhZ2luYXRpb25Nb2RlOiB0aGlzLmNvbmZpZy5saXN0LnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8ubGltaXQgPyB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyLmxpbWl0IDogdGhpcy5jb25maWcucGFnaW5hdGlvblxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uLmxpbWl0IDogbnVsbCxcbiAgICAgICAgb2Zmc2V0OiB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5vZmZzZXQgfHwgdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8ub2Zmc2V0ID09PSAwXG4gICAgICAgICAgICA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIub2Zmc2V0IDogdGhpcy5jb25maWcucGFnaW5hdGlvbiA/IDAgOiBudWxsLFxuICAgICAgICBzb3J0Qnk6IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXI/LnNvcnRCeSA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIuc29ydEJ5IDogdGhpcy5jb25maWcuc29ydFxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5zb3J0W1wiZGVmYXVsdFwiXSA6IG51bGwsXG4gICAgICAgIHNvcnREZXNjOiB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5zb3J0RGVzYyA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIuc29ydERlc2MgOiAgdGhpcy5jb25maWcuc29ydFxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5zb3J0W1wiZGVmYXVsdERlc2NcIl0gOiBudWxsLFxuICAgICAgICBxdWVyeTogdGhpcy5jb25maWcuYmFzZVF1ZXJ5ID8gWyAuLi50aGlzLmNvbmZpZy5iYXNlUXVlcnkgXSA6IFtdLFxuICAgICAgICAuLi50aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuZmFjYWRlLnJlYWQobmV3RmlsdGVyKTtcblxuICAgIGNvbnN0IGVuZEJ1dHRvbnMgPSB0aGlzLmdldEVuZEJ1dHRvbnMoKTtcblxuICAgIHRoaXMucGFnZU9wdGlvbnMgPSB7XG4gICAgICB0aXRsZTogdGhpcy5jb25maWcudGl0bGUsXG4gICAgICBzZWFyY2g6IHRoaXMuY29uZmlnLnNlYXJjaFxuICAgICAgICA/IHtcbiAgICAgICAgICAgIHRleHQkOiB0aGlzLmZpbHRlciQucGlwZShtYXAoKGYpID0+IChmID8gZi5zZWFyY2hUZXh0IDogbnVsbCkpKSxcbiAgICAgICAgICAgIHNldDogKHR4dCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodHh0ICE9PSB0aGlzLmZpbHRlci5zZWFyY2hUZXh0KVxuICAgICAgICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICAgICAgICAgICAgLi4udGhpcy5maWx0ZXIsXG4gICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiB0eHQsXG4gICAgICAgICAgICAgICAgICBvZmZzZXQ6IDAsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiBudWxsLFxuICAgICAgZW5kQnV0dG9uczogZW5kQnV0dG9ucyxcbiAgICB9O1xuXG4gICAgY29uc3QgY29tcGlsZWRDb21wb25lbnRzID1cbiAgICAgIGF3YWl0IHRoaXMuZHluYW1pY0NvbXBvbmVudExvYWRlci5nZXRDb21wb25lbnRzV2l0aEZhY3Rvcmllcyh7XG4gICAgICAgIGNvbXBvbmVudHM6IFtcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcuZGV0YWlscyAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0uYm90dG9tXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS5ib3R0b21dXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgICAuLi4odGhpcy5jb25maWcubGlzdCAmJlxuICAgICAgICAgIHRoaXMuY29uZmlnLmxpc3RbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdFtcImNvbXBvbmVudHNcIl0udG9wXG4gICAgICAgICAgICA/IFt0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BdXG4gICAgICAgICAgICA6IFtdKSxcbiAgICAgICAgXSxcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5saXN0T3B0aW9ucyA9IHtcbiAgICAgIHByb3ZpZGVyOiB7XG4gICAgICAgIGdldERhdGE6IChmaWx0ZXIpOiB2b2lkID0+IHtcbiAgICAgICAgICBjb25zdCBnbG9iYWwgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmZpbHRlcixcbiAgICAgICAgICAgIC4uLmZpbHRlcixcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoZ2xvYmFsKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25DaGFuZ2VNdWx0aVNlbGVjdGVkOiBhc3luYyAobGlzdCkgPT4ge1xuICAgICAgICAgIGlmIChsaXN0Lmxlbmd0aCAmJiAhdGhpcy5tZW51U2VydmljZS5vcGVuZWRFbmQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2Uub3BlbkVuZCh7XG4gICAgICAgICAgICAgIGluamVjdG9yOiB0aGlzLmluamVjdG9yLFxuICAgICAgICAgICAgICBjb21wb25lbnQ6IE11bHRpc2VsZWN0Q29tcG9uZW50LFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmICghbGlzdC5sZW5ndGggJiYgdGhpcy5tZW51U2VydmljZS5vcGVuZWRFbmQpIHtcbiAgICAgICAgICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICB0aGlzLmZhY2FkZS5tdWx0aVNlbGVjdChsaXN0KTtcbiAgICAgICAgfSxcbiAgICAgICAgbGlzdCQ6IHRoaXMuZmFjYWRlLmxpc3QkLFxuICAgICAgICBsb2FkaW5nJDogdGhpcy5mYWNhZGUubG9hZGVkJC5waXBlKG1hcCgobCkgPT4gIWwpKSxcbiAgICAgIH0sXG4gICAgICBjZWxsUGlwZTogdGhpcy5jb25maWcubGlzdCA/IHRoaXMuY29uZmlnLmxpc3QuY2VsbFBpcGUgOiBudWxsLFxuICAgICAgbW9kZTogdGhpcy5jb25maWcubGlzdD8ubW9kZSxcbiAgICAgIHR5cGU6IHRoaXMuY29uZmlnLnR5cGUsXG4gICAgICBkZXRhaWxzOiB0aGlzLmNvbmZpZy5kZXRhaWxzXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgZ2V0RGF0YTogKGlkKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUuc2VsZWN0KGlkKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgY2xlYXJEYXRhOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUudW5zZWxlY3QoKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXRlbSQ6IHRoaXMuZmFjYWRlLnNlbGVjdGVkJCxcbiAgICAgICAgICAgICAgbG9hZGluZyQ6IHRoaXMuZmFjYWRlLmxvYWRlZCQucGlwZShtYXAoKGwpID0+ICFsKSksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yaWVzOiB7XG4gICAgICAgICAgICAgIHRvcDpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICAgICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgKGNjKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuY29tcG9uZW50ID09PSB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICAgICAgICAgICAgKS5mYWN0b3J5XG4gICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgIGJvdHRvbTpcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS5ib3R0b21cbiAgICAgICAgICAgICAgICAgID8gY29tcGlsZWRDb21wb25lbnRzLmZpbmQoXG4gICAgICAgICAgICAgICAgICAgICAgKGNjKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgY2MuY29tcG9uZW50ID09PVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0uYm90dG9tXG4gICAgICAgICAgICAgICAgICAgICkuZmFjdG9yeVxuICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9XG4gICAgICAgIDogbnVsbCxcbiAgICAgIGl0ZW06XG4gICAgICAgIHRoaXMuY29uZmlnLmVkaXQgfHwgdGhpcy5jb25maWcuZGV0YWlsc1xuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICBvcHRpb25zOiB7XG4gICAgICAgICAgICAgICAgcm91dGluZ1ByZWZpeDogXCIvXCIgKyB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgKyBcIi9cIixcbiAgICAgICAgICAgICAgICBlZGl0OiB0aGlzLmNvbmZpZy5lZGl0LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogbnVsbCxcbiAgICAgIHJlbW92ZTogdGhpcy5jb25maWcucmVtb3ZlXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgaW52b2tlOiAoaWQpID0+IHRoaXMuZmFjYWRlLmRlbGV0ZShpZCksXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiBudWxsLFxuICAgICAgcGFnaW5hdGlvbjogYXdhaXQgdGhpcy5wYWdpbmF0aW9uRmFjYWRlLmNyZWF0ZSh7XG4gICAgICAgIG1vZGU6IHRoaXMuY29uZmlnLmxpc3QucGFnaW5hdGlvbk1vZGUsXG4gICAgICAgIGxpbWl0OiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uLmxpbWl0LFxuICAgICAgICBwcm92aWRlcjoge1xuICAgICAgICAgIGdldEZpbHRlcjogKCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmlsdGVyO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgZ2V0TGlua3M6ICgpID0+IHRoaXMubGlua3MsXG4gICAgICAgIH0sXG4gICAgICB9KSxcbiAgICAgIHNvcnQ6IHRoaXMuY29uZmlnLnNvcnQsXG4gICAgfTtcblxuICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuXG4gICAgdGhpcy5pbml0Q2xvc2VNZW51KCk7XG4gICAgdGhpcy5pbml0VG9wQ29tcG9uZW50KGNvbXBpbGVkQ29tcG9uZW50cyk7XG5cbiAgICB0aGlzLnJlZnJlc2hEeW5hbWljSW5zdGFuY2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdENsb3NlTWVudSgpIHtcbiAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZShhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmNsZWFyKCk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNsZWFyKCkge1xuICAgIGF3YWl0IHRoaXMubWVudVNlcnZpY2UuY2xvc2VFbmQoKTtcblxuICAgIHRoaXMubGlzdE9wdGlvbnMgPSB7XG4gICAgICAuLi50aGlzLmxpc3RPcHRpb25zLFxuICAgICAgc2VsZWN0OiBudWxsLFxuICAgIH07XG5cbiAgICB0aGlzLmZhY2FkZS5tdWx0aVNlbGVjdChbXSk7XG4gIH1cblxuICBwcml2YXRlIGdldEVuZEJ1dHRvbnMoKTogQXJyYXk8SUljb25CdXR0b25PcHRpb25zPiB7XG4gICAgY29uc3QgZmllbGRzV2l0aE9wdGlvbnMgPSBnZXRNb2RlbEZpZWxkc1dpdGhPcHRpb25zKG5ldyB0aGlzLmNvbmZpZy50eXBlKCkpO1xuICAgIGNvbnN0IG1vZGVsT3B0aW9ucyA9IGdldE1vZGVsT3B0aW9ucyh0aGlzLmNvbmZpZy50eXBlKTtcblxuICAgIGNvbnN0IHNob3dGaWx0ZXJzID1cbiAgICAgIGZpZWxkc1dpdGhPcHRpb25zLnNvbWUoXG4gICAgICAgICh4KSA9PiAoeC5vcHRpb25zPy5saXN0IGFzIElGaWVsZExpc3RNZXRhZGF0YSk/LmZpbHRlclxuICAgICAgKSB8fCBtb2RlbE9wdGlvbnM/LmZpbHRlcnM/Lmxlbmd0aDtcblxuICAgIGNvbnN0IHNob3dNdWx0aUVkaXQgPVxuICAgICAgdGhpcy5jb25maWcuZWRpdCAmJlxuICAgICAgZmllbGRzV2l0aE9wdGlvbnMuc29tZShcbiAgICAgICAgKHgpID0+ICh4Lm9wdGlvbnM/LnVwZGF0ZSBhcyBJRmllbGRFZGl0TWV0YWRhdGEpPy5tdWx0aVxuICAgICAgKSAmJlxuICAgICAgIXRoaXMuaGFyZHdhcmVTZXJ2aWNlLmlzTW9iaWxlICYmXG4gICAgICAoIXRoaXMuY29uZmlnPy5saXN0Py5tb2RlIHx8XG4gICAgICAgIHRoaXMuY29uZmlnPy5saXN0Py5tb2RlID09PSBMaXN0TW9kZS5kZXNrdG9wKTtcblxuICAgIHJldHVybiBbXG4gICAgICAuLi4oc2hvd011bHRpRWRpdFxuICAgICAgICA/IFtcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgaWNvbjogXCJjaGVja2JveC1vdXRsaW5lXCIsXG4gICAgICAgICAgICAgIHRleHQ6IFwibXVsdGlcIixcbiAgICAgICAgICAgICAgaGFuZGxlcjogYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubGlzdE9wdGlvbnMgPSB7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmxpc3RPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgc2VsZWN0OiB0aGlzLmxpc3RPcHRpb25zLnNlbGVjdCA9PT0gXCJtdWx0aVwiID8gbnVsbCA6IFwibXVsdGlcIixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0KFtdKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5tZW51U2VydmljZS5vcGVuZWRFbmQpXG4gICAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLmNsb3NlRW5kKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4oc2hvd0ZpbHRlcnNcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGljb246IFwiZmlsdGVyLW91dGxpbmVcIixcbiAgICAgICAgICAgICAgdGV4dDogXCJmaWx0ZXJzXCIsXG4gICAgICAgICAgICAgIGhhbmRsZXI6IGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgICBhd2FpdCB0aGlzLm1lbnVTZXJ2aWNlLm9wZW5FbmQoe1xuICAgICAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IEZpbHRlcnNDb21wb25lbnQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5jb25maWcuYWRkXG4gICAgICAgID8gW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBpY29uOiBcImFkZFwiLFxuICAgICAgICAgICAgICB0ZXh0OiBcImFkZFwiLFxuICAgICAgICAgICAgICBoYW5kbGVyOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xuICAgICAgICAgICAgICAgICAgXCIvXCIgKyB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC51cmwgKyBcIi9hZGRcIixcbiAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXVxuICAgICAgICA6IFtdKSxcbiAgICAgIC4uLih0aGlzLmNvbmZpZy5leHBvcnRcbiAgICAgICAgPyBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRleHQ6IFwiZXhwb3J0XCIsXG4gICAgICAgICAgICAgIGljb246IFwiZG93bmxvYWQtb3V0bGluZVwiLFxuICAgICAgICAgICAgICB0eXBlOiBcInBvcG92ZXJcIiBhcyBcInBvcG92ZXJcIixcbiAgICAgICAgICAgICAgY29tcG9uZW50OiBFeHBvcnRDb21wb25lbnQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgOiBbXSksXG4gICAgICAuLi4odGhpcy5jb25maWcuYnV0dG9ucyA/IHRoaXMuY29uZmlnLmJ1dHRvbnMgOiBbXSksXG4gICAgXTtcbiAgfVxuXG4gIHByaXZhdGUgaW5pdFRvcENvbXBvbmVudChcbiAgICBjb21waWxlZENvbXBvbmVudHM6IHtcbiAgICAgIGNvbXBvbmVudDogYW55O1xuICAgICAgZmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeTxhbnk+O1xuICAgIH1bXVxuICApIHtcbiAgICBjb25zdCBmYWN0b3J5ID1cbiAgICAgIHRoaXMuY29uZmlnLmxpc3QgJiZcbiAgICAgIHRoaXMuY29uZmlnLmxpc3RbXCJjb21wb25lbnRzXCJdICYmXG4gICAgICB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgIChjYykgPT4gY2MuY29tcG9uZW50ID09PSB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICApLmZhY3RvcnlcbiAgICAgICAgOiBudWxsO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoZmFjdG9yeSAmJiAhdGhpcy50b3BUcGwuZ2V0KDApKSB7XG4gICAgICAgIHRoaXMudG9wVHBsLmNyZWF0ZUNvbXBvbmVudChmYWN0b3J5KTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { Component } from "@angular/core";
|
|
2
|
-
import { map } from "rxjs/operators";
|
|
3
|
-
import { CrudListPageBaseComponent } from "../base/base.component";
|
|
4
|
-
import { CrudListGroupService } from "../../../services/list-group/list-group.service";
|
|
5
|
-
import { CrudFacade } from "../../../+state/crud.facade";
|
|
6
|
-
import { CrudFullConfig } from "../../../crud.config";
|
|
7
|
-
export class ListStandardComponent extends CrudListPageBaseComponent {
|
|
8
|
-
constructor(facade, config) {
|
|
9
|
-
super(config);
|
|
10
|
-
this.facade = facade;
|
|
11
|
-
this.config = config;
|
|
12
|
-
this.isSearch$ = this.facade.filter$.pipe(map(filter => {
|
|
13
|
-
return !!(filter === null || filter === void 0 ? void 0 : filter.searchText);
|
|
14
|
-
}));
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
18
|
-
ListStandardComponent.decorators = [
|
|
19
|
-
{ type: Component, args: [{
|
|
20
|
-
selector: "smart-crud-list-standard-page",
|
|
21
|
-
template: "<smart-crud-filters-config></smart-crud-filters-config>\n<smart-list *ngIf=\"listOptions\"\n [hidden]=\"!(!config.list?.groups || (isSearch$ | async))\"\n [options]=\"listOptions\"\n></smart-list>\n<smart-crud-group *ngIf=\"config.list?.groups && !(isSearch$ | async)\"\n [groups]=\"config.list?.groups\"\n [listOptions]=\"listOptions\"\n>\n</smart-crud-group>",
|
|
22
|
-
providers: [
|
|
23
|
-
CrudListGroupService
|
|
24
|
-
],
|
|
25
|
-
styles: [""]
|
|
26
|
-
},] }
|
|
27
|
-
];
|
|
28
|
-
/**
|
|
29
|
-
* @type {function(): !Array<(null|{
|
|
30
|
-
* type: ?,
|
|
31
|
-
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
32
|
-
* })>}
|
|
33
|
-
* @nocollapse
|
|
34
|
-
*/
|
|
35
|
-
ListStandardComponent.ctorParameters = () => [
|
|
36
|
-
{ type: CrudFacade },
|
|
37
|
-
{ type: CrudFullConfig }
|
|
38
|
-
];
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9wYWdlcy9saXN0L3N0YW5kYXJkL3N0YW5kYXJkLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hDLE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUluQyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxpREFBaUQsQ0FBQztBQUNyRixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBVXBELE1BQU0sT0FBTyxxQkFBaUQsU0FBUSx5QkFBNEI7SUFPOUYsWUFDcUIsTUFBcUIsRUFDdEIsTUFBeUI7UUFFekMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBSEcsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUN0QixXQUFNLEdBQU4sTUFBTSxDQUFtQjtRQVI3QyxjQUFTLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNsQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDVCxPQUFPLENBQUMsQ0FBQyxDQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxVQUFVLENBQUEsQ0FBQTtRQUMvQixDQUFDLENBQUMsQ0FDSCxDQUFDO0lBT0YsQ0FBQzs7OztZQXBCSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsNGFBQXdDO2dCQUV4QyxTQUFTLEVBQUU7b0JBQ1Asb0JBQW9CO2lCQUN2Qjs7YUFDSjs7Ozs7Ozs7OztZQVZRLFVBQVU7WUFDWCxjQUFjIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge21hcH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcblxuaW1wb3J0IHtDcnVkTGlzdFBhZ2VCYXNlQ29tcG9uZW50fSBmcm9tIFwiLi4vYmFzZS9iYXNlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHtDcnVkTGlzdEdyb3VwU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBDcnVkRmFjYWRlIH0gZnJvbSBcIi4uLy4uLy4uLytzdGF0ZS9jcnVkLmZhY2FkZVwiO1xuaW1wb3J0IHtDcnVkRnVsbENvbmZpZ30gZnJvbSBcIi4uLy4uLy4uL2NydWQuY29uZmlnXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcInNtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi9zdGFuZGFyZC5jb21wb25lbnQuaHRtbFwiLFxuICAgIHN0eWxlVXJsczogW1wiLi9zdGFuZGFyZC5jb21wb25lbnQuc2Nzc1wiXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgQ3J1ZExpc3RHcm91cFNlcnZpY2VcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIExpc3RTdGFuZGFyZENvbXBvbmVudDxUIGV4dGVuZHMgSUVudGl0eTxzdHJpbmc+PiBleHRlbmRzIENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8VD4ge1xuICAgIGlzU2VhcmNoJCA9IHRoaXMuZmFjYWRlLmZpbHRlciQucGlwZShcbiAgICAgIG1hcChmaWx0ZXIgPT4ge1xuICAgICAgICAgIHJldHVybiAhIWZpbHRlcj8uc2VhcmNoVGV4dFxuICAgICAgfSlcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZmFjYWRlOiBDcnVkRmFjYWRlPFQ+LFxuICAgICAgICBwdWJsaWMgcmVhZG9ubHkgY29uZmlnOiBDcnVkRnVsbENvbmZpZzxUPixcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY29uZmlnKTtcbiAgICB9XG59Il19
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
import { Inject, Optional, Pipe } from "@angular/core";
|
|
2
|
-
import { CRUD_MODEL_POSSIBILITIES_PROVIDER, ICrudModelPossibilitiesProvider, } from "../../providers/model-possibilities/model-possibilities.provider";
|
|
3
|
-
export class FormOptionsPipe {
|
|
4
|
-
constructor(modelPossibilitiesProvider) {
|
|
5
|
-
this.modelPossibilitiesProvider = modelPossibilitiesProvider;
|
|
6
|
-
}
|
|
7
|
-
transform(item, mode, type, uniqueProvider, inputComponents) {
|
|
8
|
-
if (!mode || !type)
|
|
9
|
-
return null;
|
|
10
|
-
let possibilities = {};
|
|
11
|
-
if (type && this.modelPossibilitiesProvider) {
|
|
12
|
-
possibilities = this.modelPossibilitiesProvider.get(type);
|
|
13
|
-
}
|
|
14
|
-
if (mode === "create") {
|
|
15
|
-
return {
|
|
16
|
-
mode: "create",
|
|
17
|
-
possibilities,
|
|
18
|
-
inputComponents,
|
|
19
|
-
uniqueProvider,
|
|
20
|
-
model: new type(),
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
const model = new type();
|
|
25
|
-
if (item) {
|
|
26
|
-
Object.keys(item).forEach((key) => {
|
|
27
|
-
model[key] = item[key];
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
return {
|
|
31
|
-
mode: mode,
|
|
32
|
-
uniqueProvider,
|
|
33
|
-
possibilities: possibilities,
|
|
34
|
-
inputComponents,
|
|
35
|
-
model: model,
|
|
36
|
-
};
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
41
|
-
FormOptionsPipe.decorators = [
|
|
42
|
-
{ type: Pipe, args: [{
|
|
43
|
-
name: "smartFormOptions",
|
|
44
|
-
},] }
|
|
45
|
-
];
|
|
46
|
-
/**
|
|
47
|
-
* @type {function(): !Array<(null|{
|
|
48
|
-
* type: ?,
|
|
49
|
-
* decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
|
|
50
|
-
* })>}
|
|
51
|
-
* @nocollapse
|
|
52
|
-
*/
|
|
53
|
-
FormOptionsPipe.ctorParameters = () => [
|
|
54
|
-
{ type: ICrudModelPossibilitiesProvider, decorators: [{ type: Optional }, { type: Inject, args: [CRUD_MODEL_POSSIBILITIES_PROVIDER,] }] }
|
|
55
|
-
];
|
|
56
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vcHRpb25zLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3BpcGVzL2Zvcm0tb3B0aW9ucy9mb3JtLW9wdGlvbnMucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQXNCLE1BQU0sZUFBZSxDQUFDO0FBSzFFLE9BQU8sRUFDTCxpQ0FBaUMsRUFDakMsK0JBQStCLEdBQ2hDLE1BQU0sa0VBQWtFLENBQUM7QUFLMUUsTUFBTSxPQUFPLGVBQWU7SUFFMUIsWUFHVSwwQkFBMkQ7UUFBM0QsK0JBQTBCLEdBQTFCLDBCQUEwQixDQUFpQztJQUNsRSxDQUFDO0lBRUosU0FBUyxDQUNQLElBQU8sRUFDUCxJQUFZLEVBQ1osSUFBUyxFQUNULGNBQW1FLEVBQ25FLGVBQWtFO1FBRWxFLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFaEMsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBRXZCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQywwQkFBMEIsRUFBRTtZQUMzQyxhQUFhLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUMzRDtRQUVELElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRTtZQUNyQixPQUFPO2dCQUNMLElBQUksRUFBRSxRQUFRO2dCQUNkLGFBQWE7Z0JBQ2IsZUFBZTtnQkFDZixjQUFjO2dCQUNkLEtBQUssRUFBRSxJQUFJLElBQUksRUFBRTthQUNsQixDQUFDO1NBQ0g7YUFBTTtZQUNMLE1BQU0sS0FBSyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUM7WUFFekIsSUFBSSxJQUFJLEVBQUU7Z0JBQ1IsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtvQkFDaEMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDekIsQ0FBQyxDQUFDLENBQUM7YUFDSjtZQUVELE9BQU87Z0JBQ0wsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsY0FBYztnQkFDZCxhQUFhLEVBQUUsYUFBYTtnQkFDNUIsZUFBZTtnQkFDZixLQUFLLEVBQUUsS0FBSzthQUNiLENBQUM7U0FDSDtJQUNILENBQUM7Ozs7WUFuREYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxrQkFBa0I7YUFDekI7Ozs7Ozs7Ozs7WUFMQywrQkFBK0IsdUJBUzVCLFFBQVEsWUFDUixNQUFNLFNBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3QsIE9wdGlvbmFsLCBQaXBlLCBQaXBlVHJhbnNmb3JtLCBUeXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBJRW50aXR5IH0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7SUZvcm1PcHRpb25zLCBJbnB1dEJhc2VDb21wb25lbnR9IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcblxuaW1wb3J0IHtcbiAgQ1JVRF9NT0RFTF9QT1NTSUJJTElUSUVTX1BST1ZJREVSLFxuICBJQ3J1ZE1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyLFxufSBmcm9tIFwiLi4vLi4vcHJvdmlkZXJzL21vZGVsLXBvc3NpYmlsaXRpZXMvbW9kZWwtcG9zc2liaWxpdGllcy5wcm92aWRlclwiO1xuXG5AUGlwZSh7XG4gIG5hbWU6IFwic21hcnRGb3JtT3B0aW9uc1wiLFxufSlcbmV4cG9ydCBjbGFzcyBGb3JtT3B0aW9uc1BpcGU8VCBleHRlbmRzIElFbnRpdHk8c3RyaW5nPj5cbiAgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKClcbiAgICBASW5qZWN0KENSVURfTU9ERUxfUE9TU0lCSUxJVElFU19QUk9WSURFUilcbiAgICBwcml2YXRlIG1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyOiBJQ3J1ZE1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyXG4gICkge31cblxuICB0cmFuc2Zvcm0oXG4gICAgaXRlbTogVCxcbiAgICBtb2RlOiBzdHJpbmcsXG4gICAgdHlwZTogYW55LFxuICAgIHVuaXF1ZVByb3ZpZGVyPzogKHZhbHVlczogUmVjb3JkPGtleW9mIFQsIGFueT4pID0+IFByb21pc2U8Ym9vbGVhbj4sXG4gICAgaW5wdXRDb21wb25lbnRzPzogeyBba2V5OiBzdHJpbmddOiBUeXBlPElucHV0QmFzZUNvbXBvbmVudDxhbnk+PiB9XG4gICk6IElGb3JtT3B0aW9uczxUPiB7XG4gICAgaWYgKCFtb2RlIHx8ICF0eXBlKSByZXR1cm4gbnVsbDtcblxuICAgIGxldCBwb3NzaWJpbGl0aWVzID0ge307XG5cbiAgICBpZiAodHlwZSAmJiB0aGlzLm1vZGVsUG9zc2liaWxpdGllc1Byb3ZpZGVyKSB7XG4gICAgICBwb3NzaWJpbGl0aWVzID0gdGhpcy5tb2RlbFBvc3NpYmlsaXRpZXNQcm92aWRlci5nZXQodHlwZSk7XG4gICAgfVxuXG4gICAgaWYgKG1vZGUgPT09IFwiY3JlYXRlXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1vZGU6IFwiY3JlYXRlXCIsXG4gICAgICAgIHBvc3NpYmlsaXRpZXMsXG4gICAgICAgIGlucHV0Q29tcG9uZW50cyxcbiAgICAgICAgdW5pcXVlUHJvdmlkZXIsXG4gICAgICAgIG1vZGVsOiBuZXcgdHlwZSgpLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgbW9kZWwgPSBuZXcgdHlwZSgpO1xuXG4gICAgICBpZiAoaXRlbSkge1xuICAgICAgICBPYmplY3Qua2V5cyhpdGVtKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICAgICAgICBtb2RlbFtrZXldID0gaXRlbVtrZXldO1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbW9kZTogbW9kZSxcbiAgICAgICAgdW5pcXVlUHJvdmlkZXIsXG4gICAgICAgIHBvc3NpYmlsaXRpZXM6IHBvc3NpYmlsaXRpZXMsXG4gICAgICAgIGlucHV0Q29tcG9uZW50cyxcbiAgICAgICAgbW9kZWw6IG1vZGVsLFxuICAgICAgfTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { FormOptionsPipe } from "./form-options/form-options.pipe";
|
|
3
|
-
export class CrudPipesModule {
|
|
4
|
-
}
|
|
5
|
-
/** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
|
|
6
|
-
CrudPipesModule.decorators = [
|
|
7
|
-
{ type: NgModule, args: [{
|
|
8
|
-
declarations: [
|
|
9
|
-
FormOptionsPipe
|
|
10
|
-
],
|
|
11
|
-
exports: [
|
|
12
|
-
FormOptionsPipe
|
|
13
|
-
]
|
|
14
|
-
},] }
|
|
15
|
-
];
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlwZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9waXBlcy9waXBlcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV2QyxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFVakUsTUFBTSxPQUFPLGVBQWU7Ozs7WUFSM0IsUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVixlQUFlO2lCQUNsQjtnQkFDRCxPQUFPLEVBQUU7b0JBQ0wsZUFBZTtpQkFDbEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7Rm9ybU9wdGlvbnNQaXBlfSBmcm9tIFwiLi9mb3JtLW9wdGlvbnMvZm9ybS1vcHRpb25zLnBpcGVcIjtcblxuQE5nTW9kdWxlKHtcbiAgICBkZWNsYXJhdGlvbnM6IFtcbiAgICAgICAgRm9ybU9wdGlvbnNQaXBlXG4gICAgXSxcbiAgICBleHBvcnRzOiBbXG4gICAgICAgIEZvcm1PcHRpb25zUGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgQ3J1ZFBpcGVzTW9kdWxlIHtcblxufVxuIl19
|