@smartsoft001/crud-shell-angular 1.1.734 → 1.1.738

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.
Files changed (210) hide show
  1. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  2. package/{esm2015/lib/+state/crud.actions.js → esm2020/lib/+state/crud.actions.mjs} +0 -0
  3. package/esm2020/lib/+state/crud.effects.mjs +182 -0
  4. package/esm2020/lib/+state/crud.facade.mjs +88 -0
  5. package/esm2020/lib/+state/crud.reducer.mjs +212 -0
  6. package/{esm2015/lib/+state/crud.selectors.js → esm2020/lib/+state/crud.selectors.mjs} +0 -0
  7. package/esm2020/lib/components/components.module.mjs +109 -0
  8. package/esm2020/lib/components/export/export.component.mjs +47 -0
  9. package/esm2020/lib/components/filter/base/base.component.mjs +140 -0
  10. package/esm2020/lib/components/filter/check/check.component.mjs +36 -0
  11. package/esm2020/lib/components/filter/date/date.component.mjs +41 -0
  12. package/esm2020/lib/components/filter/date-with-edit/date-with-edit.component.mjs +44 -0
  13. package/esm2020/lib/components/filter/filter.component.mjs +29 -0
  14. package/esm2020/lib/components/filter/flag/flag.component.mjs +16 -0
  15. package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
  16. package/esm2020/lib/components/filter/int/int.component.mjs +33 -0
  17. package/esm2020/lib/components/filter/radio/radio.component.mjs +16 -0
  18. package/esm2020/lib/components/filter/text/text.component.mjs +16 -0
  19. package/esm2020/lib/components/filters/filters.component.mjs +111 -0
  20. package/esm2020/lib/components/filters-config/filters-config.component.mjs +37 -0
  21. package/esm2020/lib/components/group/group.component.mjs +54 -0
  22. package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
  23. package/esm2020/lib/components/multiselect/multiselect.component.mjs +68 -0
  24. package/esm2020/lib/crud-full.module.mjs +105 -0
  25. package/esm2020/lib/crud.config.mjs +17 -0
  26. package/esm2020/lib/crud.module.mjs +107 -0
  27. package/esm2020/lib/factories/list-pagination/list-pagination.factory.mjs +69 -0
  28. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
  29. package/{esm2015/lib/models/interfaces.js → esm2020/lib/models/interfaces.mjs} +0 -0
  30. package/esm2020/lib/pages/index.mjs +7 -0
  31. package/esm2020/lib/pages/item/base/base.component.mjs +44 -0
  32. package/esm2020/lib/pages/item/item.component.mjs +393 -0
  33. package/esm2020/lib/pages/item/standard/standard.component.mjs +15 -0
  34. package/esm2020/lib/pages/list/base/base.component.mjs +23 -0
  35. package/esm2020/lib/pages/list/list.component.mjs +343 -0
  36. package/esm2020/lib/pages/list/standard/standard.component.mjs +34 -0
  37. package/esm2020/lib/pipes/form-options/form-options.pipe.mjs +55 -0
  38. package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +0 -0
  39. package/esm2020/lib/pipes/pipes.module.mjs +20 -0
  40. package/{esm2015/lib/providers/model-possibilities/model-possibilities.provider.js → esm2020/lib/providers/model-possibilities/model-possibilities.provider.mjs} +0 -0
  41. package/esm2020/lib/services/crud/crud.service.mjs +138 -0
  42. package/esm2020/lib/services/list-group/list-group.service.mjs +60 -0
  43. package/esm2020/lib/services/page/page.service.mjs +41 -0
  44. package/{esm2015/lib/services/search/search.service.js → esm2020/lib/services/search/search.service.mjs} +9 -8
  45. package/esm2020/lib/services/socket/socket.service.mjs +17 -0
  46. package/esm2020/smartsoft001-crud-shell-angular.mjs +5 -0
  47. package/fesm2015/smartsoft001-crud-shell-angular.mjs +2568 -0
  48. package/fesm2015/smartsoft001-crud-shell-angular.mjs.map +1 -0
  49. package/fesm2020/smartsoft001-crud-shell-angular.mjs +2728 -0
  50. package/fesm2020/smartsoft001-crud-shell-angular.mjs.map +1 -0
  51. package/lib/+state/crud.effects.d.ts +3 -0
  52. package/lib/+state/crud.effects.d.ts.map +1 -1
  53. package/lib/+state/crud.facade.d.ts +3 -0
  54. package/lib/+state/crud.facade.d.ts.map +1 -1
  55. package/lib/components/components.module.d.ts +22 -0
  56. package/lib/components/components.module.d.ts.map +1 -1
  57. package/lib/components/export/export.component.d.ts +3 -0
  58. package/lib/components/export/export.component.d.ts.map +1 -1
  59. package/lib/components/filter/base/base.component.d.ts +3 -0
  60. package/lib/components/filter/base/base.component.d.ts.map +1 -1
  61. package/lib/components/filter/check/check.component.d.ts +3 -0
  62. package/lib/components/filter/check/check.component.d.ts.map +1 -1
  63. package/lib/components/filter/date/date.component.d.ts +3 -0
  64. package/lib/components/filter/date/date.component.d.ts.map +1 -1
  65. package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +4 -1
  66. package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
  67. package/lib/components/filter/filter.component.d.ts +3 -0
  68. package/lib/components/filter/filter.component.d.ts.map +1 -1
  69. package/lib/components/filter/flag/flag.component.d.ts +3 -0
  70. package/lib/components/filter/flag/flag.component.d.ts.map +1 -1
  71. package/lib/components/filter/int/int.component.d.ts +3 -0
  72. package/lib/components/filter/int/int.component.d.ts.map +1 -1
  73. package/lib/components/filter/radio/radio.component.d.ts +3 -0
  74. package/lib/components/filter/radio/radio.component.d.ts.map +1 -1
  75. package/lib/components/filter/text/text.component.d.ts +3 -0
  76. package/lib/components/filter/text/text.component.d.ts.map +1 -1
  77. package/lib/components/filters/filters.component.d.ts +3 -0
  78. package/lib/components/filters/filters.component.d.ts.map +1 -1
  79. package/lib/components/filters-config/filters-config.component.d.ts +3 -0
  80. package/lib/components/filters-config/filters-config.component.d.ts.map +1 -1
  81. package/lib/components/group/group.component.d.ts +3 -0
  82. package/lib/components/group/group.component.d.ts.map +1 -1
  83. package/lib/components/multiselect/multiselect.component.d.ts +3 -0
  84. package/lib/components/multiselect/multiselect.component.d.ts.map +1 -1
  85. package/lib/crud-full.module.d.ts +20 -0
  86. package/lib/crud-full.module.d.ts.map +1 -1
  87. package/lib/crud.config.d.ts +5 -0
  88. package/lib/crud.config.d.ts.map +1 -1
  89. package/lib/crud.module.d.ts +13 -0
  90. package/lib/crud.module.d.ts.map +1 -1
  91. package/lib/factories/list-pagination/list-pagination.factory.d.ts +3 -0
  92. package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +1 -1
  93. package/lib/pages/index.d.ts +5 -1
  94. package/lib/pages/index.d.ts.map +1 -1
  95. package/lib/pages/item/base/base.component.d.ts +3 -0
  96. package/lib/pages/item/base/base.component.d.ts.map +1 -1
  97. package/lib/pages/item/item.component.d.ts +3 -0
  98. package/lib/pages/item/item.component.d.ts.map +1 -1
  99. package/lib/pages/item/standard/standard.component.d.ts +3 -0
  100. package/lib/pages/item/standard/standard.component.d.ts.map +1 -1
  101. package/lib/pages/list/base/base.component.d.ts +3 -0
  102. package/lib/pages/list/base/base.component.d.ts.map +1 -1
  103. package/lib/pages/list/list.component.d.ts +3 -0
  104. package/lib/pages/list/list.component.d.ts.map +1 -1
  105. package/lib/pages/list/standard/standard.component.d.ts +3 -0
  106. package/lib/pages/list/standard/standard.component.d.ts.map +1 -1
  107. package/lib/pipes/form-options/form-options.pipe.d.ts +3 -0
  108. package/lib/pipes/form-options/form-options.pipe.d.ts.map +1 -1
  109. package/lib/pipes/pipes.module.d.ts +5 -0
  110. package/lib/pipes/pipes.module.d.ts.map +1 -1
  111. package/lib/services/crud/crud.service.d.ts +3 -0
  112. package/lib/services/crud/crud.service.d.ts.map +1 -1
  113. package/lib/services/list-group/list-group.service.d.ts +3 -0
  114. package/lib/services/list-group/list-group.service.d.ts.map +1 -1
  115. package/lib/services/page/page.service.d.ts +3 -0
  116. package/lib/services/page/page.service.d.ts.map +1 -1
  117. package/lib/services/search/search.service.d.ts +3 -0
  118. package/lib/services/search/search.service.d.ts.map +1 -1
  119. package/lib/services/socket/socket.service.d.ts +5 -0
  120. package/lib/services/socket/socket.service.d.ts.map +1 -1
  121. package/package.json +39 -26
  122. package/smartsoft001-crud-shell-angular.d.ts +1 -17
  123. package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
  124. package/bundles/smartsoft001-crud-shell-angular.umd.js +0 -3332
  125. package/bundles/smartsoft001-crud-shell-angular.umd.js.map +0 -1
  126. package/esm2015/lib/+state/crud.effects.js +0 -178
  127. package/esm2015/lib/+state/crud.facade.js +0 -92
  128. package/esm2015/lib/+state/crud.reducer.js +0 -92
  129. package/esm2015/lib/components/components.module.js +0 -65
  130. package/esm2015/lib/components/export/export.component.js +0 -55
  131. package/esm2015/lib/components/filter/base/base.component.js +0 -144
  132. package/esm2015/lib/components/filter/check/check.component.js +0 -34
  133. package/esm2015/lib/components/filter/date/date.component.js +0 -42
  134. package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +0 -43
  135. package/esm2015/lib/components/filter/filter.component.js +0 -30
  136. package/esm2015/lib/components/filter/flag/flag.component.js +0 -13
  137. package/esm2015/lib/components/filter/int/int.component.js +0 -31
  138. package/esm2015/lib/components/filter/radio/radio.component.js +0 -13
  139. package/esm2015/lib/components/filter/text/text.component.js +0 -13
  140. package/esm2015/lib/components/filters/filters.component.js +0 -124
  141. package/esm2015/lib/components/filters-config/filters-config.component.js +0 -46
  142. package/esm2015/lib/components/group/group.component.js +0 -65
  143. package/esm2015/lib/components/multiselect/multiselect.component.js +0 -74
  144. package/esm2015/lib/crud-full.module.js +0 -83
  145. package/esm2015/lib/crud.config.js +0 -14
  146. package/esm2015/lib/crud.module.js +0 -84
  147. package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +0 -73
  148. package/esm2015/lib/pages/index.js +0 -3
  149. package/esm2015/lib/pages/item/base/base.component.js +0 -44
  150. package/esm2015/lib/pages/item/item.component.js +0 -383
  151. package/esm2015/lib/pages/item/standard/standard.component.js +0 -13
  152. package/esm2015/lib/pages/list/base/base.component.js +0 -30
  153. package/esm2015/lib/pages/list/list.component.js +0 -319
  154. package/esm2015/lib/pages/list/standard/standard.component.js +0 -39
  155. package/esm2015/lib/pipes/form-options/form-options.pipe.js +0 -56
  156. package/esm2015/lib/pipes/pipes.module.js +0 -16
  157. package/esm2015/lib/services/crud/crud.service.js +0 -143
  158. package/esm2015/lib/services/list-group/list-group.service.js +0 -61
  159. package/esm2015/lib/services/page/page.service.js +0 -48
  160. package/esm2015/lib/services/socket/socket.service.js +0 -14
  161. package/esm2015/smartsoft001-crud-shell-angular.js +0 -22
  162. package/fesm2015/smartsoft001-crud-shell-angular.js +0 -2676
  163. package/fesm2015/smartsoft001-crud-shell-angular.js.map +0 -1
  164. package/lib/+state/crud.effects.ngfactory.d.ts.map +0 -1
  165. package/lib/+state/crud.facade.ngfactory.d.ts.map +0 -1
  166. package/lib/components/components.module.ngfactory.d.ts.map +0 -1
  167. package/lib/components/export/export.component.ngfactory.d.ts.map +0 -1
  168. package/lib/components/export/export.component.scss.shim.ngstyle.d.ts.map +0 -1
  169. package/lib/components/filter/check/check.component.ngfactory.d.ts.map +0 -1
  170. package/lib/components/filter/check/check.component.scss.shim.ngstyle.d.ts.map +0 -1
  171. package/lib/components/filter/date/date.component.ngfactory.d.ts.map +0 -1
  172. package/lib/components/filter/date/date.component.scss.shim.ngstyle.d.ts.map +0 -1
  173. package/lib/components/filter/date-with-edit/date-with-edit.component.ngfactory.d.ts.map +0 -1
  174. package/lib/components/filter/date-with-edit/date-with-edit.component.scss.shim.ngstyle.d.ts.map +0 -1
  175. package/lib/components/filter/filter.component.ngfactory.d.ts.map +0 -1
  176. package/lib/components/filter/filter.component.scss.shim.ngstyle.d.ts.map +0 -1
  177. package/lib/components/filter/flag/flag.component.ngfactory.d.ts.map +0 -1
  178. package/lib/components/filter/flag/flag.component.scss.shim.ngstyle.d.ts.map +0 -1
  179. package/lib/components/filter/int/int.component.ngfactory.d.ts.map +0 -1
  180. package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +0 -1
  181. package/lib/components/filter/radio/radio.component.ngfactory.d.ts.map +0 -1
  182. package/lib/components/filter/radio/radio.component.scss.shim.ngstyle.d.ts.map +0 -1
  183. package/lib/components/filter/text/text.component.ngfactory.d.ts.map +0 -1
  184. package/lib/components/filter/text/text.component.scss.shim.ngstyle.d.ts.map +0 -1
  185. package/lib/components/filters/filters.component.ngfactory.d.ts.map +0 -1
  186. package/lib/components/filters/filters.component.scss.shim.ngstyle.d.ts.map +0 -1
  187. package/lib/components/filters-config/filters-config.component.ngfactory.d.ts.map +0 -1
  188. package/lib/components/filters-config/filters-config.component.scss.shim.ngstyle.d.ts.map +0 -1
  189. package/lib/components/group/group.component.ngfactory.d.ts.map +0 -1
  190. package/lib/components/group/group.component.scss.shim.ngstyle.d.ts.map +0 -1
  191. package/lib/components/multiselect/multiselect.component.ngfactory.d.ts.map +0 -1
  192. package/lib/components/multiselect/multiselect.component.scss.shim.ngstyle.d.ts.map +0 -1
  193. package/lib/crud-full.module.ngfactory.d.ts.map +0 -1
  194. package/lib/crud.config.ngfactory.d.ts.map +0 -1
  195. package/lib/crud.module.ngfactory.d.ts.map +0 -1
  196. package/lib/factories/list-pagination/list-pagination.factory.ngfactory.d.ts.map +0 -1
  197. package/lib/pages/item/item.component.ngfactory.d.ts.map +0 -1
  198. package/lib/pages/item/standard/standard.component.ngfactory.d.ts.map +0 -1
  199. package/lib/pages/item/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
  200. package/lib/pages/list/list.component.ngfactory.d.ts.map +0 -1
  201. package/lib/pages/list/standard/standard.component.ngfactory.d.ts.map +0 -1
  202. package/lib/pages/list/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
  203. package/lib/pipes/form-options/form-options.pipe.ngfactory.d.ts.map +0 -1
  204. package/lib/pipes/pipes.module.ngfactory.d.ts.map +0 -1
  205. package/lib/services/crud/crud.service.ngfactory.d.ts.map +0 -1
  206. package/lib/services/list-group/list-group.service.ngfactory.d.ts.map +0 -1
  207. package/lib/services/page/page.service.ngfactory.d.ts.map +0 -1
  208. package/lib/services/search/search.service.ngfactory.d.ts.map +0 -1
  209. package/lib/services/socket/socket.service.ngfactory.d.ts.map +0 -1
  210. 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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YUFDdEM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7Ozs7WUFyV0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxzQkFBc0I7Z0JBQ2hDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7R0FXVDthQUNGOzs7Ozs7Ozs7O1lBekJRLFVBQVU7WUF0QlYsTUFBTTtZQU1iLHNCQUFzQjtZQVp0QixRQUFRO1lBSFIsaUJBQWlCO1lBcUJqQixXQUFXO1lBTFgsZUFBZTtZQXFCUix5QkFBeUI7WUFoQm5CLFlBQVk7WUFuQm1CLFVBQVU7WUFvQ2hELFdBQVc7WUFOVixjQUFjO1lBUWYsaUJBQWlCO1lBckNiLFdBQVc7WUFESCx3QkFBd0I7Ozs7cUJBc0V6QyxTQUFTLFNBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7eUJBRzdELFNBQVMsU0FBQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7OEJBRzVELFlBQVksU0FBQyx1QkFBdUIsRUFBRSxFQUFFLElBQUksRUFBRSx1QkFBdUIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudEZhY3RvcnksIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgRWxlbWVudFJlZixcbiAgSW5qZWN0b3IsIE5nTW9kdWxlUmVmLCBPbkRlc3Ryb3ksXG4gIE9uSW5pdCwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZixcbiAgVmlld0NoaWxkLCBWaWV3Q2hpbGRyZW4sXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBtYXAsIHRhcCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgKiBhcyBfIGZyb20gXCJsb2Rhc2hcIjtcblxuaW1wb3J0IHtcbiAgQ3JlYXRlRHluYW1pY0NvbXBvbmVudCxcbiAgRHluYW1pY0NvbXBvbmVudExvYWRlciwgRHluYW1pY0NvbnRlbnREaXJlY3RpdmUsXG4gIEhhcmR3YXJlU2VydmljZSxcbiAgSUljb25CdXR0b25PcHRpb25zLFxuICBJTGlzdE9wdGlvbnMsXG4gIElQYWdlT3B0aW9ucyxcbiAgTGlzdE1vZGUsXG4gIE1lbnVTZXJ2aWNlLCBTdHlsZVNlcnZpY2UsXG59IGZyb20gXCJAc21hcnRzb2Z0MDAxL2FuZ3VsYXJcIjtcbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZVwiO1xuaW1wb3J0IHtcbiAgZ2V0TW9kZWxGaWVsZHNXaXRoT3B0aW9ucyxcbiAgZ2V0TW9kZWxPcHRpb25zLFxuICBJRmllbGRFZGl0TWV0YWRhdGEsXG4gIElGaWVsZExpc3RNZXRhZGF0YSxcbn0gZnJvbSBcIkBzbWFydHNvZnQwMDEvbW9kZWxzXCI7XG5cbmltcG9ydCB7IENydWRGYWNhZGUgfSBmcm9tIFwiLi4vLi4vK3N0YXRlL2NydWQuZmFjYWRlXCI7XG5pbXBvcnQgeyBDcnVkRnVsbENvbmZpZyB9IGZyb20gXCIuLi8uLi9jcnVkLmNvbmZpZ1wiO1xuaW1wb3J0IHsgSUNydWRGaWx0ZXIgfSBmcm9tIFwiLi4vLi4vbW9kZWxzL2ludGVyZmFjZXNcIjtcbmltcG9ydCB7IEV4cG9ydENvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2V4cG9ydC9leHBvcnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBGaWx0ZXJzQ29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXJzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgTXVsdGlzZWxlY3RDb21wb25lbnQgfSBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9tdWx0aXNlbGVjdC9tdWx0aXNlbGVjdC5jb21wb25lbnRcIjtcbmltcG9ydCB7IENydWRMaXN0UGFnaW5hdGlvbkZhY3RvcnkgfSBmcm9tIFwiLi4vLi4vZmFjdG9yaWVzL2xpc3QtcGFnaW5hdGlvbi9saXN0LXBhZ2luYXRpb24uZmFjdG9yeVwiO1xuaW1wb3J0IHtQYWdlU2VydmljZX0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3BhZ2UvcGFnZS5zZXJ2aWNlXCI7XG5pbXBvcnQge0NydWRMaXN0UGFnZUJhc2VDb21wb25lbnR9IGZyb20gXCIuL2Jhc2UvYmFzZS5jb21wb25lbnRcIjtcbmltcG9ydCB7Q3J1ZFNlYXJjaFNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9zZWFyY2gvc2VhcmNoLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInNtYXJ0LWNydWQtbGlzdC1wYWdlXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNtYXJ0LXBhZ2UgW29wdGlvbnNdPVwicGFnZU9wdGlvbnNcIiAqbmdJZj1cImZpbHRlciQgfCBhc3luY1wiPlxuICAgICAgPGRpdiAjdG9wVHBsPjwvZGl2PlxuICAgICAgPHNtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlICpuZ0lmPVwidGVtcGxhdGUgPT09ICdkZWZhdWx0J1wiIFtsaXN0T3B0aW9uc109XCJsaXN0T3B0aW9uc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb250ZW50VHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L3NtYXJ0LWNydWQtbGlzdC1zdGFuZGFyZC1wYWdlPlxuICAgICAgPG5nLXRlbXBsYXRlICNjb250ZW50VHBsPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPGRpdiBjbGFzcz1cImR5bmFtaWMtY29udGVudFwiPjwvZGl2PlxuICAgIDwvc21hcnQtcGFnZT5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBMaXN0Q29tcG9uZW50PFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+XG4gICAgZXh0ZW5kcyBDcmVhdGVEeW5hbWljQ29tcG9uZW50PENydWRMaXN0UGFnZUJhc2VDb21wb25lbnQ8YW55Pj4oJ2NydWQtbGlzdC1wYWdlJylcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBwYWdlT3B0aW9uczogSVBhZ2VPcHRpb25zO1xuICBsaXN0T3B0aW9uczogSUxpc3RPcHRpb25zPFQ+O1xuICBmaWx0ZXI6IElDcnVkRmlsdGVyO1xuICBsaW5rczogeyBuZXh0OyBwcmV2IH07XG5cbiAgZmlsdGVyJDogT2JzZXJ2YWJsZTxJQ3J1ZEZpbHRlcj4gPSB0aGlzLmZhY2FkZS5maWx0ZXIkLnBpcGUoXG4gICAgdGFwKChmaWx0ZXIpID0+IHtcbiAgICAgIHRoaXMuZmlsdGVyID0gZmlsdGVyO1xuICAgIH0pXG4gICk7XG5cbiAgQFZpZXdDaGlsZChcInRvcFRwbFwiLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgdG9wVHBsOiBWaWV3Q29udGFpbmVyUmVmO1xuXG4gIEBWaWV3Q2hpbGQoXCJjb250ZW50VHBsXCIsIHsgcmVhZDogVGVtcGxhdGVSZWYsIHN0YXRpYzogZmFsc2UgfSlcbiAgY29udGVudFRwbDogVGVtcGxhdGVSZWY8YW55PjtcblxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNDb250ZW50RGlyZWN0aXZlLCB7IHJlYWQ6IER5bmFtaWNDb250ZW50RGlyZWN0aXZlIH0pXG4gIGR5bmFtaWNDb250ZW50cyA9IG5ldyBRdWVyeUxpc3Q8RHluYW1pY0NvbnRlbnREaXJlY3RpdmU+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYWNhZGU6IENydWRGYWNhZGU8VD4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIGR5bmFtaWNDb21wb25lbnRMb2FkZXI6IER5bmFtaWNDb21wb25lbnRMb2FkZXI8VD4sXG4gICAgcHJpdmF0ZSBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgcHJpdmF0ZSBtZW51U2VydmljZTogTWVudVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBoYXJkd2FyZVNlcnZpY2U6IEhhcmR3YXJlU2VydmljZSxcbiAgICBwcml2YXRlIHBhZ2luYXRpb25GYWNhZGU6IENydWRMaXN0UGFnaW5hdGlvbkZhY3Rvcnk8VD4sXG4gICAgcHJpdmF0ZSBzdHlsZVNlcnZpY2U6IFN0eWxlU2VydmljZSxcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgcHJpdmF0ZSBwYWdlU2VydmljZTogUGFnZVNlcnZpY2U8VD4sXG4gICAgcHVibGljIGNvbmZpZzogQ3J1ZEZ1bGxDb25maWc8VD4sXG4gICAgcHJpdmF0ZSBzZWFyY2hTZXJ2aWNlOiBDcnVkU2VhcmNoU2VydmljZSxcbiAgICBwcml2YXRlIG1vZHVsZVJlZjogTmdNb2R1bGVSZWY8YW55PixcbiAgICBwcml2YXRlIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICkge1xuICAgIHN1cGVyKGNkLCBtb2R1bGVSZWYsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcik7XG5cbiAgICB0aGlzLmZhY2FkZS5saW5rcyQucGlwZSh0aGlzLnRha2VVbnRpbERlc3Ryb3kpLnN1YnNjcmliZSgobGlua3MpID0+IHtcbiAgICAgIHRoaXMubGlua3MgPSBsaW5rcztcbiAgICB9KTtcbiAgfVxuXG4gIHJlZnJlc2hQcm9wZXJ0aWVzKCk6IHZvaWQge1xuICAgIHRoaXMuYmFzZUluc3RhbmNlLmxpc3RPcHRpb25zID0gdGhpcy5saXN0T3B0aW9ucztcbiAgfVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucGFnZVNlcnZpY2UuY2hlY2tQZXJtaXNzaW9ucygpO1xuXG4gICAgbGV0IG5ld0ZpbHRlciA9IG51bGw7XG5cbiAgICBpZiAodGhpcy5jb25maWcubGlzdD8ucmVzZXRRdWVyeSA9PT0gJ2JlZm9yZUluaXQnKSB7XG4gICAgICBuZXdGaWx0ZXIgPSB7XG4gICAgICAgIHF1ZXJ5OiB0aGlzLmNvbmZpZy5iYXNlUXVlcnkgPyBbIC4uLnRoaXMuY29uZmlnLmJhc2VRdWVyeSBdIDogW10sXG4gICAgICAgIHBhZ2luYXRpb25Nb2RlOiB0aGlzLmNvbmZpZy5saXN0LnBhZ2luYXRpb25Nb2RlLFxuICAgICAgICBsaW1pdDogdGhpcy5jb25maWcucGFnaW5hdGlvbiA/IHRoaXMuY29uZmlnLnBhZ2luYXRpb24ubGltaXQgOiBudWxsLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuY29uZmlnLnBhZ2luYXRpb24gPyAwIDogbnVsbCxcbiAgICAgICAgc29ydEJ5OiB0aGlzLmNvbmZpZy5zb3J0ID8gdGhpcy5jb25maWcuc29ydFtcImRlZmF1bHRcIl0gOiBudWxsLFxuICAgICAgICBzb3J0RGVzYzogdGhpcy5jb25maWcuc29ydCA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0RGVzY1wiXSA6IG51bGwsXG4gICAgICAgIC4uLnRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXJcbiAgICAgIH07XG4gICAgfSBlbHNlIGlmICh0aGlzLmZpbHRlcikge1xuICAgICAgbmV3RmlsdGVyID0gdGhpcy5maWx0ZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0ZpbHRlciA9IHtcbiAgICAgICAgcGFnaW5hdGlvbk1vZGU6IHRoaXMuY29uZmlnLmxpc3QucGFnaW5hdGlvbk1vZGUsXG4gICAgICAgIGxpbWl0OiB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5saW1pdCA/IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXIubGltaXQgOiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLnBhZ2luYXRpb24ubGltaXQgOiBudWxsLFxuICAgICAgICBvZmZzZXQ6IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXI/Lm9mZnNldCB8fCB0aGlzLnNlYXJjaFNlcnZpY2UuZmlsdGVyPy5vZmZzZXQgPT09IDBcbiAgICAgICAgICAgID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlci5vZmZzZXQgOiB0aGlzLmNvbmZpZy5wYWdpbmF0aW9uID8gMCA6IG51bGwsXG4gICAgICAgIHNvcnRCeTogdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlcj8uc29ydEJ5ID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlci5zb3J0QnkgOiB0aGlzLmNvbmZpZy5zb3J0XG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0XCJdIDogbnVsbCxcbiAgICAgICAgc29ydERlc2M6IHRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXI/LnNvcnREZXNjID8gdGhpcy5zZWFyY2hTZXJ2aWNlLmZpbHRlci5zb3J0RGVzYyA6ICB0aGlzLmNvbmZpZy5zb3J0XG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLnNvcnRbXCJkZWZhdWx0RGVzY1wiXSA6IG51bGwsXG4gICAgICAgIHF1ZXJ5OiB0aGlzLmNvbmZpZy5iYXNlUXVlcnkgPyBbIC4uLnRoaXMuY29uZmlnLmJhc2VRdWVyeSBdIDogW10sXG4gICAgICAgIC4uLnRoaXMuc2VhcmNoU2VydmljZS5maWx0ZXJcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5mYWNhZGUucmVhZChuZXdGaWx0ZXIpO1xuXG4gICAgY29uc3QgZW5kQnV0dG9ucyA9IHRoaXMuZ2V0RW5kQnV0dG9ucygpO1xuXG4gICAgdGhpcy5wYWdlT3B0aW9ucyA9IHtcbiAgICAgIHRpdGxlOiB0aGlzLmNvbmZpZy50aXRsZSxcbiAgICAgIHNlYXJjaDogdGhpcy5jb25maWcuc2VhcmNoXG4gICAgICAgID8ge1xuICAgICAgICAgICAgdGV4dCQ6IHRoaXMuZmlsdGVyJC5waXBlKG1hcCgoZikgPT4gKGYgPyBmLnNlYXJjaFRleHQgOiBudWxsKSkpLFxuICAgICAgICAgICAgc2V0OiAodHh0KSA9PiB7XG4gICAgICAgICAgICAgIGlmICh0eHQgIT09IHRoaXMuZmlsdGVyLnNlYXJjaFRleHQpXG4gICAgICAgICAgICAgICAgdGhpcy5mYWNhZGUucmVhZCh7XG4gICAgICAgICAgICAgICAgICAuLi50aGlzLmZpbHRlcixcbiAgICAgICAgICAgICAgICAgIHNlYXJjaFRleHQ6IHR4dCxcbiAgICAgICAgICAgICAgICAgIG9mZnNldDogMCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfVxuICAgICAgICA6IG51bGwsXG4gICAgICBlbmRCdXR0b25zOiBlbmRCdXR0b25zLFxuICAgIH07XG5cbiAgICBjb25zdCBjb21waWxlZENvbXBvbmVudHMgPVxuICAgICAgYXdhaXQgdGhpcy5keW5hbWljQ29tcG9uZW50TG9hZGVyLmdldENvbXBvbmVudHNXaXRoRmFjdG9yaWVzKHtcbiAgICAgICAgY29tcG9uZW50czogW1xuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICAgID8gW3RoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLnRvcF1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZy5kZXRhaWxzICYmXG4gICAgICAgICAgdGhpcy5jb25maWcuZGV0YWlsc1tcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS5ib3R0b21cbiAgICAgICAgICAgID8gW3RoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLmJvdHRvbV1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICAgIC4uLih0aGlzLmNvbmZpZy5saXN0ICYmXG4gICAgICAgICAgdGhpcy5jb25maWcubGlzdFtcImNvbXBvbmVudHNcIl0gJiZcbiAgICAgICAgICB0aGlzLmNvbmZpZy5saXN0W1wiY29tcG9uZW50c1wiXS50b3BcbiAgICAgICAgICAgID8gW3RoaXMuY29uZmlnLmxpc3RbXCJjb21wb25lbnRzXCJdLnRvcF1cbiAgICAgICAgICAgIDogW10pLFxuICAgICAgICBdLFxuICAgICAgfSk7XG5cbiAgICB0aGlzLmxpc3RPcHRpb25zID0ge1xuICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgZ2V0RGF0YTogKGZpbHRlcik6IHZvaWQgPT4ge1xuICAgICAgICAgIGNvbnN0IGdsb2JhbCA9IHtcbiAgICAgICAgICAgIC4uLnRoaXMuZmlsdGVyLFxuICAgICAgICAgICAgLi4uZmlsdGVyLFxuICAgICAgICAgIH07XG4gICAgICAgICAgdGhpcy5mYWNhZGUucmVhZChnbG9iYWwpO1xuICAgICAgICB9LFxuICAgICAgICBvbkNoYW5nZU11bHRpU2VsZWN0ZWQ6IGFzeW5jIChsaXN0KSA9PiB7XG4gICAgICAgICAgaWYgKGxpc3QubGVuZ3RoICYmICF0aGlzLm1lbnVTZXJ2aWNlLm9wZW5lZEVuZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5vcGVuRW5kKHtcbiAgICAgICAgICAgICAgaW5qZWN0b3I6IHRoaXMuaW5qZWN0b3IsXG4gICAgICAgICAgICAgIGNvbXBvbmVudDogTXVsdGlzZWxlY3RDb21wb25lbnQsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9IGVsc2UgaWYgKCFsaXN0Lmxlbmd0aCAmJiB0aGlzLm1lbnVTZXJ2aWNlLm9wZW5lZEVuZCkge1xuICAgICAgICAgICAgYXdhaXQgdGhpcy5tZW51U2VydmljZS5jbG9zZUVuZCgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRoaXMuZmFjYWRlLm11bHRpU2VsZWN0KGxpc3QpO1xuICAgICAgICB9LFxuICAgICAgICBsaXN0JDogdGhpcy5mYWNhZGUubGlzdCQsXG4gICAgICAgIGxvYWRpbmckOiB0aGlzLmZhY2FkZS5sb2FkZWQkLnBpcGUobWFwKChsKSA9PiAhbCkpLFxuICAgICAgfSxcbiAgICAgIGNlbGxQaXBlOiB0aGlzLmNvbmZpZy5saXN0ID8gdGhpcy5jb25maWcubGlzdC5jZWxsUGlwZSA6IG51bGwsXG4gICAgICBtb2RlOiB0aGlzLmNvbmZpZy5saXN0Py5tb2RlLFxuICAgICAgdHlwZTogdGhpcy5jb25maWcudHlwZSxcbiAgICAgIGRldGFpbHM6IHRoaXMuY29uZmlnLmRldGFpbHNcbiAgICAgICAgPyB7XG4gICAgICAgICAgICBwcm92aWRlcjoge1xuICAgICAgICAgICAgICBnZXREYXRhOiAoaWQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZhY2FkZS5zZWxlY3QoaWQpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBjbGVhckRhdGE6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmZhY2FkZS51bnNlbGVjdCgpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBpdGVtJDogdGhpcy5mYWNhZGUuc2VsZWN0ZWQkLFxuICAgICAgICAgICAgICBsb2FkaW5nJDogdGhpcy5mYWNhZGUubG9hZGVkJC5waXBlKG1hcCgobCkgPT4gIWwpKSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21wb25lbnRGYWN0b3JpZXM6IHtcbiAgICAgICAgICAgICAgdG9wOlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLnRvcFxuICAgICAgICAgICAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAoY2MpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5jb21wb25lbnQgPT09IHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLnRvcFxuICAgICAgICAgICAgICAgICAgICApLmZhY3RvcnlcbiAgICAgICAgICAgICAgICAgIDogbnVsbCxcbiAgICAgICAgICAgICAgYm90dG9tOlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHMgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXSAmJlxuICAgICAgICAgICAgICAgIHRoaXMuY29uZmlnLmRldGFpbHNbXCJjb21wb25lbnRzXCJdLmJvdHRvbVxuICAgICAgICAgICAgICAgICAgPyBjb21waWxlZENvbXBvbmVudHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAoY2MpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICBjYy5jb21wb25lbnQgPT09XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbmZpZy5kZXRhaWxzW1wiY29tcG9uZW50c1wiXS5ib3R0b21cbiAgICAgICAgICAgICAgICAgICAgKS5mYWN0b3J5XG4gICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH1cbiAgICAgICAgOiBudWxsLFxuICAgICAgaXRlbTpcbiAgICAgICAgISF0aGlzLmNvbmZpZy5lZGl0IHx8IHRoaXMuY29uZmlnLmRldGFpbHNcbiAgICAgICAgICA/IHtcbiAgICAgICAgICAgICAgb3B0aW9uczoge1xuICAgICAgICAgICAgICAgIHJvdXRpbmdQcmVmaXg6IFwiL1wiICsgdGhpcy5yb3V0ZXIucm91dGVyU3RhdGUuc25hcHNob3QudXJsICsgXCIvXCIsXG4gICAgICAgICAgICAgICAgZWRpdDogISF0aGlzLmNvbmZpZy5lZGl0LFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogbnVsbCxcbiAgICAgIHJlbW92ZTogdGhpcy5jb25maWcucmVtb3ZlXG4gICAgICAgID8ge1xuICAgICAgICAgICAgcHJvdmlkZXI6IHtcbiAgICAgICAgICAgICAgaW52b2tlOiAoaWQpID0+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