@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,143 +0,0 @@
1
- import { Injectable, Optional } from "@angular/core";
2
- import { forkJoin } from "rxjs";
3
- import { HttpClient } from "@angular/common/http";
4
- import { map } from "rxjs/operators";
5
- import { CrudConfig } from "../../crud.config";
6
- import { SocketService } from "../socket/socket.service";
7
- export class CrudService {
8
- constructor(config, http, socket) {
9
- this.config = config;
10
- this.http = http;
11
- this.socket = socket;
12
- this._formatMap = {
13
- csv: "text/csv",
14
- xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
15
- };
16
- }
17
- // changes(criteria: { id?: string } = {}): Observable<ItemChangedData> {
18
- // this.socket.emit("changes", criteria);
19
- // return this.socket.fromEvent("changes");
20
- // }
21
- // TODO : Location is null
22
- create(item) {
23
- return this.http
24
- .post(this.config.apiUrl, item, { observe: "response" })
25
- .pipe(map((response) => {
26
- const location = response.headers["Location"];
27
- if (!location)
28
- return null;
29
- const array = location.split("/");
30
- return array[array.length - 1];
31
- }));
32
- }
33
- createMany(items, options) {
34
- return this.http.post(this.config.apiUrl + "/bulk?mode=" + options.mode, items);
35
- }
36
- getById(id) {
37
- return this.http.get(this.config.apiUrl + "/" + id);
38
- }
39
- getList(filter = null) {
40
- return this.http.get(this.config.apiUrl + this.getQuery(filter));
41
- }
42
- exportList(filter = null, format) {
43
- if (!format) {
44
- format = "csv";
45
- }
46
- if (format === "xlsx") {
47
- return this.http
48
- .get(this.config.apiUrl + this.getQuery(filter), {
49
- headers: {
50
- "Content-Type": this._formatMap[format],
51
- },
52
- observe: "response",
53
- reportProgress: false,
54
- responseType: "blob",
55
- })
56
- .pipe(map((res) => {
57
- const downloadLink = document.createElement("a");
58
- const blob = res.body;
59
- const url = URL.createObjectURL(blob);
60
- downloadLink.href = url;
61
- downloadLink.download = "data." + format;
62
- document.body.appendChild(downloadLink);
63
- downloadLink.click();
64
- document.body.removeChild(downloadLink);
65
- }));
66
- }
67
- return this.http
68
- .get(this.config.apiUrl + this.getQuery(filter), {
69
- headers: {
70
- "Content-Type": this._formatMap[format],
71
- },
72
- responseType: "text",
73
- })
74
- .pipe(map((res) => {
75
- const downloadLink = document.createElement("a");
76
- const blob = new Blob(["\ufeff", res]);
77
- const url = URL.createObjectURL(blob);
78
- downloadLink.href = url;
79
- downloadLink.download = "data." + format;
80
- document.body.appendChild(downloadLink);
81
- downloadLink.click();
82
- document.body.removeChild(downloadLink);
83
- }));
84
- }
85
- update(item) {
86
- return this.http.put(this.config.apiUrl + "/" + item.id, item);
87
- }
88
- updatePartial(item) {
89
- return this.http.patch(this.config.apiUrl + "/" + item.id, item);
90
- }
91
- updatePartialMany(items) {
92
- return forkJoin(items.map(item => {
93
- return this.updatePartial(item);
94
- }));
95
- }
96
- delete(id) {
97
- return this.http.delete(this.config.apiUrl + "/" + id);
98
- }
99
- getQuery(filter) {
100
- let query = "";
101
- if (filter && filter.searchText) {
102
- query += "&$search=" + filter.searchText;
103
- }
104
- if (filter && filter.limit) {
105
- query += `&limit=${filter.limit}&offset=${filter.offset ? filter.offset : 0}`;
106
- }
107
- if (filter && filter.sortBy) {
108
- query += `&sort=${(filter.sortDesc ? "-" : "") + filter.sortBy}`;
109
- }
110
- if (filter && filter.query) {
111
- filter.query.forEach((q) => {
112
- if (q.value
113
- && (typeof q.value === 'string')
114
- && q.value.match(/^-?\d+$/)
115
- && q.value[0] !== "'"
116
- && q.value[0] !== '"') {
117
- query += "&" + q.key + q.type + `'${q.value}'`;
118
- }
119
- else {
120
- query += "&" + q.key + q.type + q.value;
121
- }
122
- });
123
- }
124
- return query ? "?" + query.replace("&", "") : "";
125
- }
126
- }
127
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
128
- CrudService.decorators = [
129
- { type: Injectable }
130
- ];
131
- /**
132
- * @type {function(): !Array<(null|{
133
- * type: ?,
134
- * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
135
- * })>}
136
- * @nocollapse
137
- */
138
- CrudService.ctorParameters = () => [
139
- { type: CrudConfig },
140
- { type: HttpClient },
141
- { type: SocketService, decorators: [{ type: Optional }] }
142
- ];
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3J1ZC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9jcnVkL2NydWQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFFLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUMsUUFBUSxFQUFhLE1BQU0sTUFBTSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFJckMsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUd6RCxNQUFNLE9BQU8sV0FBVztJQU10QixZQUNZLE1BQXFCLEVBQ3JCLElBQWdCLEVBQ0osTUFBd0I7UUFGcEMsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0osV0FBTSxHQUFOLE1BQU0sQ0FBa0I7UUFSdEMsZUFBVSxHQUFHO1lBQ3JCLEdBQUcsRUFBRSxVQUFVO1lBQ2YsSUFBSSxFQUFFLG1FQUFtRTtTQUMxRSxDQUFDO0lBTUMsQ0FBQztJQUVKLHlFQUF5RTtJQUN6RSwyQ0FBMkM7SUFDM0MsNkNBQTZDO0lBQzdDLElBQUk7SUFFSiwwQkFBMEI7SUFDMUIsTUFBTSxDQUFDLElBQU87UUFDWixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ2IsSUFBSSxDQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsQ0FBQzthQUM3RCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7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QUcsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQztpQkFDbEQ7cUJBQU07b0JBQ0gsS0FBSyxJQUFJLEdBQUcsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztpQkFDM0M7WUFDTCxDQUFDLENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ25ELENBQUM7Ozs7WUFoS0YsVUFBVTs7Ozs7Ozs7OztZQUpGLFVBQVU7WUFMVixVQUFVO1lBT1YsYUFBYSx1QkFZakIsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SW5qZWN0YWJsZSwgT3B0aW9uYWx9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge2ZvcmtKb2luLCBPYnNlcnZhYmxlfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gXCJAYW5ndWxhci9jb21tb24vaHR0cFwiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5cbmltcG9ydCB7IElFbnRpdHkgfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9kb21haW4tY29yZVwiO1xuXG5pbXBvcnQgeyBDcnVkQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NydWQuY29uZmlnXCI7XG5pbXBvcnQgeyBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zLCBJQ3J1ZEZpbHRlciB9IGZyb20gXCIuLi8uLi9tb2RlbHMvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgU29ja2V0U2VydmljZSB9IGZyb20gXCIuLi9zb2NrZXQvc29ja2V0LnNlcnZpY2VcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRTZXJ2aWNlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgcHJvdGVjdGVkIF9mb3JtYXRNYXAgPSB7XG4gICAgY3N2OiBcInRleHQvY3N2XCIsXG4gICAgeGxzeDogXCJhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldFwiLFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBjb25maWc6IENydWRDb25maWc8VD4sXG4gICAgcHJvdGVjdGVkIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgQE9wdGlvbmFsKCkgcHJvdGVjdGVkIHNvY2tldDogU29ja2V0U2VydmljZTxUPlxuICApIHt9XG5cbiAgLy8gY2hhbmdlcyhjcml0ZXJpYTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBPYnNlcnZhYmxlPEl0ZW1DaGFuZ2VkRGF0YT4ge1xuICAvLyAgIHRoaXMuc29ja2V0LmVtaXQoXCJjaGFuZ2VzXCIsIGNyaXRlcmlhKTtcbiAgLy8gICByZXR1cm4gdGhpcy5zb2NrZXQuZnJvbUV2ZW50KFwiY2hhbmdlc1wiKTtcbiAgLy8gfVxuXG4gIC8vIFRPRE8gOiBMb2NhdGlvbiBpcyBudWxsXG4gIGNyZWF0ZShpdGVtOiBUKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAucG9zdDx2b2lkPih0aGlzLmNvbmZpZy5hcGlVcmwsIGl0ZW0sIHsgb2JzZXJ2ZTogXCJyZXNwb25zZVwiIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0gcmVzcG9uc2UuaGVhZGVyc1tcIkxvY2F0aW9uXCJdO1xuICAgICAgICAgIGlmICghbG9jYXRpb24pIHJldHVybiBudWxsO1xuICAgICAgICAgIGNvbnN0IGFycmF5ID0gbG9jYXRpb24uc3BsaXQoXCIvXCIpO1xuICAgICAgICAgIHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBjcmVhdGVNYW55KFxuICAgIGl0ZW1zOiBBcnJheTxUPixcbiAgICBvcHRpb25zOiBJQ3J1ZENyZWF0ZU1hbnlPcHRpb25zXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDx2b2lkPihcbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArIFwiL2J1bGs/bW9kZT1cIiArIG9wdGlvbnMubW9kZSxcbiAgICAgIGl0ZW1zXG4gICAgKTtcbiAgfVxuXG4gIGdldEJ5SWQoaWQ6IHN0cmluZyk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PFQ+KHRoaXMuY29uZmlnLmFwaVVybCArIFwiL1wiICsgaWQpO1xuICB9XG5cbiAgZ2V0TGlzdChcbiAgICBmaWx0ZXI6IElDcnVkRmlsdGVyID0gbnVsbFxuICApOiBPYnNlcnZhYmxlPHsgZGF0YTogVFtdOyB0b3RhbENvdW50OiBudW1iZXI7IGxpbmtzIH0+IHtcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldDx7IGRhdGE6IFRbXTsgdG90YWxDb3VudDogbnVtYmVyOyBsaW5rcyB9PihcbiAgICAgIHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0UXVlcnkoZmlsdGVyKVxuICAgICk7XG4gIH1cblxuICBleHBvcnRMaXN0KGZpbHRlcjogSUNydWRGaWx0ZXIgPSBudWxsLCBmb3JtYXQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBpZiAoIWZvcm1hdCkge1xuICAgICAgZm9ybWF0ID0gXCJjc3ZcIjtcbiAgICB9XG5cbiAgICBpZiAoZm9ybWF0ID09PSBcInhsc3hcIikge1xuICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAuZ2V0KHRoaXMuY29uZmlnLmFwaVVybCArIHRoaXMuZ2V0UXVlcnkoZmlsdGVyKSwge1xuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IHRoaXMuX2Zvcm1hdE1hcFtmb3JtYXRdLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgb2JzZXJ2ZTogXCJyZXNwb25zZVwiLFxuICAgICAgICAgIHJlcG9ydFByb2dyZXNzOiBmYWxzZSxcbiAgICAgICAgICByZXNwb25zZVR5cGU6IFwiYmxvYlwiLFxuICAgICAgICB9KVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgY29uc3QgZG93bmxvYWRMaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImFcIik7XG4gICAgICAgICAgICBjb25zdCBibG9iID0gcmVzLmJvZHk7XG5cbiAgICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgICAgICBkb3dubG9hZExpbmsuaHJlZiA9IHVybDtcbiAgICAgICAgICAgIGRvd25sb2FkTGluay5kb3dubG9hZCA9IFwiZGF0YS5cIiArIGZvcm1hdDtcblxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgICAgZG93bmxvYWRMaW5rLmNsaWNrKCk7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvd25sb2FkTGluayk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAuZ2V0PHN0cmluZz4odGhpcy5jb25maWcuYXBpVXJsICsgdGhpcy5nZXRRdWVyeShmaWx0ZXIpLCB7XG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiB0aGlzLl9mb3JtYXRNYXBbZm9ybWF0XSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVzcG9uc2VUeXBlOiBcInRleHRcIiBhcyBcImpzb25cIixcbiAgICAgIH0pXG4gICAgICAucGlwZShcbiAgICAgICAgbWFwKChyZXMpID0+IHtcbiAgICAgICAgICBjb25zdCBkb3dubG9hZExpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiYVwiKTtcbiAgICAgICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW1wiXFx1ZmVmZlwiLCByZXNdKTtcblxuICAgICAgICAgIGNvbnN0IHVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgICAgICAgZG93bmxvYWRMaW5rLmhyZWYgPSB1cmw7XG4gICAgICAgICAgZG93bmxvYWRMaW5rLmRvd25sb2FkID0gXCJkYXRhLlwiICsgZm9ybWF0O1xuXG4gICAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb3dubG9hZExpbmspO1xuICAgICAgICAgIGRvd25sb2FkTGluay5jbGljaygpO1xuICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG93bmxvYWRMaW5rKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGUoaXRlbTogVCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucHV0PHZvaWQ+KHRoaXMuY29uZmlnLmFwaVVybCArIFwiL1wiICsgaXRlbS5pZCwgaXRlbSk7XG4gIH1cblxuICB1cGRhdGVQYXJ0aWFsKGl0ZW06IFBhcnRpYWw8VD4gJiB7IGlkOiBzdHJpbmcgfSk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmh0dHAucGF0Y2g8dm9pZD4odGhpcy5jb25maWcuYXBpVXJsICsgXCIvXCIgKyBpdGVtLmlkLCBpdGVtKTtcbiAgfVxuXG4gIHVwZGF0ZVBhcnRpYWxNYW55KGl0ZW1zOiAoUGFydGlhbDxUPiAmIHsgaWQ6IHN0cmluZyB9KVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm4gZm9ya0pvaW4oaXRlbXMubWFwKGl0ZW0gPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy51cGRhdGVQYXJ0aWFsKGl0ZW0pO1xuICAgIH0pKTtcbiAgfVxuXG4gIGRlbGV0ZShpZDogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dm9pZD4odGhpcy5jb25maWcuYXBpVXJsICsgXCIvXCIgKyBpZCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0UXVlcnkoZmlsdGVyOiBJQ3J1ZEZpbHRlcik6IHN0cmluZyB7XG4gICAgbGV0IHF1ZXJ5ID0gXCJcIjtcblxuICAgIGlmIChmaWx0ZXIgJiYgZmlsdGVyLnNlYXJjaFRleHQpIHtcbiAgICAgIHF1ZXJ5ICs9IFwiJiRzZWFyY2g9XCIgKyBmaWx0ZXIuc2VhcmNoVGV4dDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyICYmIGZpbHRlci5saW1pdCkge1xuICAgICAgcXVlcnkgKz0gYCZsaW1pdD0ke2ZpbHRlci5saW1pdH0mb2Zmc2V0PSR7XG4gICAgICAgIGZpbHRlci5vZmZzZXQgPyBmaWx0ZXIub2Zmc2V0IDogMFxuICAgICAgfWA7XG4gICAgfVxuXG4gICAgaWYgKGZpbHRlciAmJiBmaWx0ZXIuc29ydEJ5KSB7XG4gICAgICBxdWVyeSArPSBgJnNvcnQ9JHsoZmlsdGVyLnNvcnREZXNjID8gXCItXCIgOiBcIlwiKSArIGZpbHRlci5zb3J0Qnl9YDtcbiAgICB9XG5cbiAgICBpZiAoZmlsdGVyICYmIGZpbHRlci5xdWVyeSkge1xuICAgICAgZmlsdGVyLnF1ZXJ5LmZvckVhY2goKHEpID0+IHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHEudmFsdWVcbiAgICAgICAgICAgICAgJiYgKHR5cGVvZiBxLnZhbHVlID09PSAnc3RyaW5nJylcbiAgICAgICAgICAgICAgJiYgcS52YWx1ZS5tYXRjaCgvXi0/XFxkKyQvKVxuICAgICAgICAgICAgICAmJiBxLnZhbHVlWzBdICE9PSBcIidcIlxuICAgICAgICAgICAgICAmJiBxLnZhbHVlWzBdICE9PSAnXCInXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5ICs9IFwiJlwiICsgcS5rZXkgKyBxLnR5cGUgKyBgJyR7cS52YWx1ZX0nYDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBxdWVyeSArPSBcIiZcIiArIHEua2V5ICsgcS50eXBlICsgcS52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcXVlcnkgPyBcIj9cIiArIHF1ZXJ5LnJlcGxhY2UoXCImXCIsIFwiXCIpIDogXCJcIjtcbiAgfVxufVxuIl19
@@ -1,61 +0,0 @@
1
- import { __decorate, __metadata } from "tslib";
2
- import { Injectable } from "@angular/core";
3
- import { debounce } from "lodash-decorators";
4
- import { CrudFacade } from "../../+state/crud.facade";
5
- export class CrudListGroupService {
6
- constructor(facade) {
7
- this.facade = facade;
8
- this._destroyed = [];
9
- }
10
- change(val, item, groups, force) {
11
- if (val || force) {
12
- item.changed = true;
13
- let current = this.facade.filter.query.find(q => q.key === item.key && q.type === '=');
14
- if (!current) {
15
- current = {
16
- key: item.key,
17
- type: "=",
18
- value: null
19
- };
20
- this.facade.filter.query.push(current);
21
- }
22
- current.value = item.value;
23
- current.hidden = true;
24
- this.facade.read(Object.assign(Object.assign({}, this.facade.filter), { offset: 0 }));
25
- }
26
- }
27
- destroy(groups) {
28
- this._destroyed = [
29
- ...(this._destroyed ? this._destroyed : []),
30
- ...groups.filter(g => g.changed)
31
- ];
32
- this.refresh();
33
- }
34
- refresh() {
35
- const list = this._destroyed;
36
- this._destroyed = [];
37
- const newQuery = this.facade.filter.query.filter(q => !list.some(i => q.key === i.key));
38
- this.facade.read(Object.assign(Object.assign({}, this.facade.filter), { query: newQuery }));
39
- }
40
- }
41
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
42
- CrudListGroupService.decorators = [
43
- { type: Injectable }
44
- ];
45
- /**
46
- * @type {function(): !Array<(null|{
47
- * type: ?,
48
- * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
49
- * })>}
50
- * @nocollapse
51
- */
52
- CrudListGroupService.ctorParameters = () => [
53
- { type: CrudFacade }
54
- ];
55
- __decorate([
56
- debounce(250),
57
- __metadata("design:type", Function),
58
- __metadata("design:paramtypes", []),
59
- __metadata("design:returntype", void 0)
60
- ], CrudListGroupService.prototype, "refresh", null);
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1ncm91cC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9saXN0LWdyb3VwL2xpc3QtZ3JvdXAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBR3RELE1BQU0sT0FBTyxvQkFBb0I7SUFHN0IsWUFBb0IsTUFBcUI7UUFBckIsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUZqQyxlQUFVLEdBQTBCLEVBQUUsQ0FBQztJQUcvQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQUcsRUFBRSxJQUFvQixFQUFFLE1BQTZCLEVBQUUsS0FBYztRQUMzRSxJQUFJLEdBQUcsSUFBSSxLQUFLLEVBQUU7WUFDZCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUVwQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLENBQUM7WUFFdkYsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDVixPQUFPLEdBQUc7b0JBQ04sR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHO29CQUNiLElBQUksRUFBRSxHQUFHO29CQUNULEtBQUssRUFBRSxJQUFJO2lCQUNkLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUMxQztZQUVELE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztZQUMzQixPQUFPLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUV0QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksaUNBQ1QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQ3JCLE1BQU0sRUFBRSxDQUFDLElBQ1gsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELE9BQU8sQ0FBQyxNQUE2QjtRQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2QsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO1NBQ25DLENBQUM7UUFFRixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUdPLE9BQU87UUFDWCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO1FBRXJCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRXhGLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxpQ0FDVCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FDckIsS0FBSyxFQUFFLFFBQVEsSUFDakIsQ0FBQTtJQUNOLENBQUM7Ozs7WUFwREosVUFBVTs7Ozs7Ozs7OztZQUZGLFVBQVU7O0FBNENmO0lBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7OzttREFXYiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7SUVudGl0eX0gZnJvbSBcIkBzbWFydHNvZnQwMDEvZG9tYWluLWNvcmVcIjtcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IGRlYm91bmNlIH0gZnJvbSBcImxvZGFzaC1kZWNvcmF0b3JzXCI7XG5cbmltcG9ydCB7SUNydWRMaXN0R3JvdXB9IGZyb20gXCIuLi8uLi9tb2RlbHMvaW50ZXJmYWNlc1wiO1xuaW1wb3J0IHsgQ3J1ZEZhY2FkZSB9IGZyb20gXCIuLi8uLi8rc3RhdGUvY3J1ZC5mYWNhZGVcIjtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENydWRMaXN0R3JvdXBTZXJ2aWNlPFQgZXh0ZW5kcyBJRW50aXR5PHN0cmluZz4+IHtcbiAgICBwcml2YXRlIF9kZXN0cm95ZWQ6IEFycmF5PElDcnVkTGlzdEdyb3VwPiA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBmYWNhZGU6IENydWRGYWNhZGU8VD4sKSB7XG4gICAgfVxuXG4gICAgY2hhbmdlKHZhbCwgaXRlbTogSUNydWRMaXN0R3JvdXAsIGdyb3VwczogQXJyYXk8SUNydWRMaXN0R3JvdXA+LCBmb3JjZTogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBpZiAodmFsIHx8IGZvcmNlKSB7XG4gICAgICAgICAgICBpdGVtLmNoYW5nZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICBsZXQgY3VycmVudCA9IHRoaXMuZmFjYWRlLmZpbHRlci5xdWVyeS5maW5kKHEgPT4gcS5rZXkgPT09IGl0ZW0ua2V5ICYmIHEudHlwZSA9PT0gJz0nKTtcblxuICAgICAgICAgICAgaWYgKCFjdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY3VycmVudCA9IHtcbiAgICAgICAgICAgICAgICAgICAga2V5OiBpdGVtLmtleSxcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCI9XCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBudWxsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLmZhY2FkZS5maWx0ZXIucXVlcnkucHVzaChjdXJyZW50KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY3VycmVudC52YWx1ZSA9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICBjdXJyZW50LmhpZGRlbiA9IHRydWU7XG5cbiAgICAgICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICAgICAgICAgIC4uLnRoaXMuZmFjYWRlLmZpbHRlcixcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IDBcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveShncm91cHM6IEFycmF5PElDcnVkTGlzdEdyb3VwPik6IHZvaWQge1xuICAgICAgICB0aGlzLl9kZXN0cm95ZWQgPSBbXG4gICAgICAgICAgICAuLi4odGhpcy5fZGVzdHJveWVkID8gdGhpcy5fZGVzdHJveWVkIDogW10pLFxuICAgICAgICAgICAgLi4uZ3JvdXBzLmZpbHRlcihnID0+IGcuY2hhbmdlZClcbiAgICAgICAgXTtcblxuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG5cbiAgICBAZGVib3VuY2UoMjUwKVxuICAgIHByaXZhdGUgcmVmcmVzaCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuX2Rlc3Ryb3llZDtcbiAgICAgICAgdGhpcy5fZGVzdHJveWVkID0gW107XG5cbiAgICAgICAgY29uc3QgbmV3UXVlcnkgPSB0aGlzLmZhY2FkZS5maWx0ZXIucXVlcnkuZmlsdGVyKHEgPT4gIWxpc3Quc29tZShpID0+IHEua2V5ID09PSBpLmtleSkpO1xuXG4gICAgICAgIHRoaXMuZmFjYWRlLnJlYWQoe1xuICAgICAgICAgICAgLi4udGhpcy5mYWNhZGUuZmlsdGVyLFxuICAgICAgICAgICAgcXVlcnk6IG5ld1F1ZXJ5LFxuICAgICAgICB9KVxuICAgIH1cbn0iXX0=
@@ -1,48 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { AuthService } from "@smartsoft001/angular";
3
- import { getModelOptions } from "@smartsoft001/models";
4
- import { CrudFullConfig } from "../../crud.config";
5
- export class PageService {
6
- constructor(authService, config) {
7
- this.authService = authService;
8
- this.config = config;
9
- }
10
- checkPermissions() {
11
- const val = this.config;
12
- const modelOptions = getModelOptions(val.type);
13
- if (val.add &&
14
- modelOptions.create &&
15
- modelOptions.create.permissions &&
16
- !this.authService.expectPermissions(modelOptions.create.permissions)) {
17
- val.add = false;
18
- }
19
- if (val.edit &&
20
- modelOptions.update &&
21
- modelOptions.update.permissions &&
22
- !this.authService.expectPermissions(modelOptions.update.permissions)) {
23
- val.edit = false;
24
- }
25
- if (val.remove &&
26
- modelOptions.remove &&
27
- modelOptions.remove.permissions &&
28
- !this.authService.expectPermissions(modelOptions.remove.permissions)) {
29
- val.remove = false;
30
- }
31
- }
32
- }
33
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
34
- PageService.decorators = [
35
- { type: Injectable }
36
- ];
37
- /**
38
- * @type {function(): !Array<(null|{
39
- * type: ?,
40
- * decorators: (undefined|!Array<{type: !Function, args: (undefined|!Array<?>)}>),
41
- * })>}
42
- * @nocollapse
43
- */
44
- PageService.ctorParameters = () => [
45
- { type: AuthService },
46
- { type: CrudFullConfig }
47
- ];
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jcnVkL3NoZWxsL2FuZ3VsYXIvc3JjL2xpYi9zZXJ2aWNlcy9wYWdlL3BhZ2Uuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRCxPQUFPLEVBQUMsZUFBZSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFckQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBR25ELE1BQU0sT0FBTyxXQUFXO0lBQ3BCLFlBQ1ksV0FBd0IsRUFDeEIsTUFBeUI7UUFEekIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsV0FBTSxHQUFOLE1BQU0sQ0FBbUI7SUFDakMsQ0FBQztJQUVMLGdCQUFnQjtRQUNaLE1BQU0sR0FBRyxHQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsSUFDSSxHQUFHLENBQUMsR0FBRztZQUNQLFlBQVksQ0FBQyxNQUFNO1lBQ25CLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVztZQUMvQixDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFDdEU7WUFDRSxHQUFHLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQztTQUNuQjtRQUVELElBQ0ksR0FBRyxDQUFDLElBQUk7WUFDUixZQUFZLENBQUMsTUFBTTtZQUNuQixZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVc7WUFDL0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLEVBQ3RFO1lBQ0UsR0FBRyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7U0FDcEI7UUFFRCxJQUNJLEdBQUcsQ0FBQyxNQUFNO1lBQ1YsWUFBWSxDQUFDLE1BQU07WUFDbkIsWUFBWSxDQUFDLE1BQU0sQ0FBQyxXQUFXO1lBQy9CLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUN0RTtZQUNFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO1NBQ3RCO0lBQ0wsQ0FBQzs7OztZQXJDSixVQUFVOzs7Ozs7Ozs7O1lBTEgsV0FBVztZQUdWLGNBQWMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0luamVjdGFibGV9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0F1dGhTZXJ2aWNlfSBmcm9tIFwiQHNtYXJ0c29mdDAwMS9hbmd1bGFyXCI7XG5pbXBvcnQge2dldE1vZGVsT3B0aW9uc30gZnJvbSBcIkBzbWFydHNvZnQwMDEvbW9kZWxzXCI7XG5cbmltcG9ydCB7IENydWRGdWxsQ29uZmlnIH0gZnJvbSBcIi4uLy4uL2NydWQuY29uZmlnXCI7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBQYWdlU2VydmljZTxUPiB7XG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYXV0aFNlcnZpY2U6IEF1dGhTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGNvbmZpZzogQ3J1ZEZ1bGxDb25maWc8VD5cbiAgICApIHsgfVxuXG4gICAgY2hlY2tQZXJtaXNzaW9ucygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsOiBDcnVkRnVsbENvbmZpZzxUPiA9IHRoaXMuY29uZmlnO1xuICAgICAgICBjb25zdCBtb2RlbE9wdGlvbnMgPSBnZXRNb2RlbE9wdGlvbnModmFsLnR5cGUpO1xuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHZhbC5hZGQgJiZcbiAgICAgICAgICAgIG1vZGVsT3B0aW9ucy5jcmVhdGUgJiZcbiAgICAgICAgICAgIG1vZGVsT3B0aW9ucy5jcmVhdGUucGVybWlzc2lvbnMgJiZcbiAgICAgICAgICAgICF0aGlzLmF1dGhTZXJ2aWNlLmV4cGVjdFBlcm1pc3Npb25zKG1vZGVsT3B0aW9ucy5jcmVhdGUucGVybWlzc2lvbnMpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdmFsLmFkZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdmFsLmVkaXQgJiZcbiAgICAgICAgICAgIG1vZGVsT3B0aW9ucy51cGRhdGUgJiZcbiAgICAgICAgICAgIG1vZGVsT3B0aW9ucy51cGRhdGUucGVybWlzc2lvbnMgJiZcbiAgICAgICAgICAgICF0aGlzLmF1dGhTZXJ2aWNlLmV4cGVjdFBlcm1pc3Npb25zKG1vZGVsT3B0aW9ucy51cGRhdGUucGVybWlzc2lvbnMpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdmFsLmVkaXQgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHZhbC5yZW1vdmUgJiZcbiAgICAgICAgICAgIG1vZGVsT3B0aW9ucy5yZW1vdmUgJiZcbiAgICAgICAgICAgIG1vZGVsT3B0aW9ucy5yZW1vdmUucGVybWlzc2lvbnMgJiZcbiAgICAgICAgICAgICF0aGlzLmF1dGhTZXJ2aWNlLmV4cGVjdFBlcm1pc3Npb25zKG1vZGVsT3B0aW9ucy5yZW1vdmUucGVybWlzc2lvbnMpXG4gICAgICAgICkge1xuICAgICAgICAgICAgdmFsLnJlbW92ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxufSJdfQ==
@@ -1,14 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- export class SocketService {
3
- }
4
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
5
- SocketService.decorators = [
6
- { type: Injectable }
7
- ];
8
- export class NotSocketService {
9
- }
10
- /** @type {!Array<{type: !Function, args: (undefined|!Array<?>)}>} */
11
- NotSocketService.decorators = [
12
- { type: Injectable }
13
- ];
14
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ja2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NydWQvc2hlbGwvYW5ndWxhci9zcmMvbGliL3NlcnZpY2VzL3NvY2tldC9zb2NrZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBS3pDLE1BQU0sT0FBTyxhQUFhOzs7O1lBRHpCLFVBQVU7O0FBZVgsTUFBTSxPQUFPLGdCQUFnQjs7OztZQUQ1QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQge0NydWRDb25maWd9IGZyb20gXCIuLi8uLi9jcnVkLmNvbmZpZ1wiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgU29ja2V0U2VydmljZTxUPi8vIGV4dGVuZHMgU29ja2V0XG57XG4gICAgLy8gY29uc3RydWN0b3IocHJpdmF0ZSBjcnVkQ29uZmlnOiBDcnVkQ29uZmlnPFQ+KSB7XG4gICAgLy8gICAgIHN1cGVyKCB7XG4gICAgLy8gICAgICAgICB1cmw6IGNydWRDb25maWcuYXBpVXJsLFxuICAgIC8vICAgICAgICAgb3B0aW9uczoge1xuICAgIC8vICAgICAgICAgICAgIHRyYW5zcG9ydHM6IFtcIndlYnNvY2tldFwiXSxcbiAgICAvLyAgICAgICAgICAgICBwYXRoOiBuZXcgVVJMKGNydWRDb25maWcuYXBpVXJsKS5wYXRobmFtZSArICcvX3NvY2tldC8nXG4gICAgLy8gICAgICAgICB9XG4gICAgLy8gICAgIH0pO1xuICAgIC8vIH1cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5vdFNvY2tldFNlcnZpY2U8VD4geyB9XG4iXX0=
@@ -1,22 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- export * from './index';
5
- export { CrudComponentsModule as ɵc } from './lib/components/components.module';
6
- export { ExportComponent as ɵd } from './lib/components/export/export.component';
7
- export { FilterCheckComponent as ɵm, FilterComponent as ɵe, FilterDateComponent as ɵh, FilterDateWithEditComponent as ɵi, FilterFlagComponent as ɵl, FilterIntComponent as ɵn, FilterRadioComponent as ɵj, FilterTextComponent as ɵf } from './lib/components/filter';
8
- export { FiltersConfigComponent as ɵg } from './lib/components/filters-config/filters-config.component';
9
- export { FiltersComponent as ɵk } from './lib/components/filters/filters.component';
10
- export { GroupComponent as ɵp } from './lib/components/group/group.component';
11
- export { MultiselectComponent as ɵo } from './lib/components/multiselect/multiselect.component';
12
- export { CrudItemPageBaseComponent as ɵv } from './lib/pages/item/base/base.component';
13
- export { ItemComponent as ɵt } from './lib/pages/item/item.component';
14
- export { ItemStandardComponent as ɵu } from './lib/pages/item/standard/standard.component';
15
- export { CrudListPageBaseComponent as ɵy } from './lib/pages/list/base/base.component';
16
- export { ListComponent as ɵw } from './lib/pages/list/list.component';
17
- export { ListStandardComponent as ɵx } from './lib/pages/list/standard/standard.component';
18
- export { FormOptionsPipe as ɵb } from './lib/pipes/form-options/form-options.pipe';
19
- export { CrudPipesModule as ɵa } from './lib/pipes/pipes.module';
20
- export { CrudListGroupService as ɵq } from './lib/services/list-group/list-group.service';
21
- export { NotSocketService as ɵs, SocketService as ɵr } from './lib/services/socket/socket.service';
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRzb2Z0MDAxLWNydWQtc2hlbGwtYW5ndWxhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY3J1ZC9zaGVsbC9hbmd1bGFyL3NyYy9zbWFydHNvZnQwMDEtY3J1ZC1zaGVsbC1hbmd1bGFyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUM7QUFFeEIsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxNQUFNLG9DQUFvQyxDQUFDO0FBQzlFLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sMENBQTBDLENBQUM7QUFDL0UsT0FBTyxFQUFDLG9CQUFvQixJQUFJLEVBQUUsRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQywyQkFBMkIsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLGtCQUFrQixJQUFJLEVBQUUsRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsbUJBQW1CLElBQUksRUFBRSxFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN1AsT0FBTyxFQUFDLHNCQUFzQixJQUFJLEVBQUUsRUFBQyxNQUFNLDBEQUEwRCxDQUFDO0FBQ3RHLE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRixPQUFPLEVBQUMsY0FBYyxJQUFJLEVBQUUsRUFBQyxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxvQkFBb0IsSUFBSSxFQUFFLEVBQUMsTUFBTSxvREFBb0QsQ0FBQztBQUM5RixPQUFPLEVBQUMseUJBQXlCLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDckYsT0FBTyxFQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUNwRSxPQUFPLEVBQUMscUJBQXFCLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDekYsT0FBTyxFQUFDLHlCQUF5QixJQUFJLEVBQUUsRUFBQyxNQUFNLHNDQUFzQyxDQUFDO0FBQ3JGLE9BQU8sRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFDLHFCQUFxQixJQUFJLEVBQUUsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBQ3pGLE9BQU8sRUFBQyxlQUFlLElBQUksRUFBRSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDakYsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUMsb0JBQW9CLElBQUksRUFBRSxFQUFDLE1BQU0sOENBQThDLENBQUM7QUFDeEYsT0FBTyxFQUFDLGdCQUFnQixJQUFJLEVBQUUsRUFBQyxhQUFhLElBQUksRUFBRSxFQUFDLE1BQU0sc0NBQXNDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuXG5leHBvcnQge0NydWRDb21wb25lbnRzTW9kdWxlIGFzIMm1Y30gZnJvbSAnLi9saWIvY29tcG9uZW50cy9jb21wb25lbnRzLm1vZHVsZSc7XG5leHBvcnQge0V4cG9ydENvbXBvbmVudCBhcyDJtWR9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZXhwb3J0L2V4cG9ydC5jb21wb25lbnQnO1xuZXhwb3J0IHtGaWx0ZXJDaGVja0NvbXBvbmVudCBhcyDJtW0sRmlsdGVyQ29tcG9uZW50IGFzIMm1ZSxGaWx0ZXJEYXRlQ29tcG9uZW50IGFzIMm1aCxGaWx0ZXJEYXRlV2l0aEVkaXRDb21wb25lbnQgYXMgybVpLEZpbHRlckZsYWdDb21wb25lbnQgYXMgybVsLEZpbHRlckludENvbXBvbmVudCBhcyDJtW4sRmlsdGVyUmFkaW9Db21wb25lbnQgYXMgybVqLEZpbHRlclRleHRDb21wb25lbnQgYXMgybVmfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbHRlcic7XG5leHBvcnQge0ZpbHRlcnNDb25maWdDb21wb25lbnQgYXMgybVnfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMtY29uZmlnL2ZpbHRlcnMtY29uZmlnLmNvbXBvbmVudCc7XG5leHBvcnQge0ZpbHRlcnNDb21wb25lbnQgYXMgybVrfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL2ZpbHRlcnMvZmlsdGVycy5jb21wb25lbnQnO1xuZXhwb3J0IHtHcm91cENvbXBvbmVudCBhcyDJtXB9IGZyb20gJy4vbGliL2NvbXBvbmVudHMvZ3JvdXAvZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCB7TXVsdGlzZWxlY3RDb21wb25lbnQgYXMgybVvfSBmcm9tICcuL2xpYi9jb21wb25lbnRzL211bHRpc2VsZWN0L211bHRpc2VsZWN0LmNvbXBvbmVudCc7XG5leHBvcnQge0NydWRJdGVtUGFnZUJhc2VDb21wb25lbnQgYXMgybV2fSBmcm9tICcuL2xpYi9wYWdlcy9pdGVtL2Jhc2UvYmFzZS5jb21wb25lbnQnO1xuZXhwb3J0IHtJdGVtQ29tcG9uZW50IGFzIMm1dH0gZnJvbSAnLi9saWIvcGFnZXMvaXRlbS9pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQge0l0ZW1TdGFuZGFyZENvbXBvbmVudCBhcyDJtXV9IGZyb20gJy4vbGliL3BhZ2VzL2l0ZW0vc3RhbmRhcmQvc3RhbmRhcmQuY29tcG9uZW50JztcbmV4cG9ydCB7Q3J1ZExpc3RQYWdlQmFzZUNvbXBvbmVudCBhcyDJtXl9IGZyb20gJy4vbGliL3BhZ2VzL2xpc3QvYmFzZS9iYXNlLmNvbXBvbmVudCc7XG5leHBvcnQge0xpc3RDb21wb25lbnQgYXMgybV3fSBmcm9tICcuL2xpYi9wYWdlcy9saXN0L2xpc3QuY29tcG9uZW50JztcbmV4cG9ydCB7TGlzdFN0YW5kYXJkQ29tcG9uZW50IGFzIMm1eH0gZnJvbSAnLi9saWIvcGFnZXMvbGlzdC9zdGFuZGFyZC9zdGFuZGFyZC5jb21wb25lbnQnO1xuZXhwb3J0IHtGb3JtT3B0aW9uc1BpcGUgYXMgybVifSBmcm9tICcuL2xpYi9waXBlcy9mb3JtLW9wdGlvbnMvZm9ybS1vcHRpb25zLnBpcGUnO1xuZXhwb3J0IHtDcnVkUGlwZXNNb2R1bGUgYXMgybVhfSBmcm9tICcuL2xpYi9waXBlcy9waXBlcy5tb2R1bGUnO1xuZXhwb3J0IHtDcnVkTGlzdEdyb3VwU2VydmljZSBhcyDJtXF9IGZyb20gJy4vbGliL3NlcnZpY2VzL2xpc3QtZ3JvdXAvbGlzdC1ncm91cC5zZXJ2aWNlJztcbmV4cG9ydCB7Tm90U29ja2V0U2VydmljZSBhcyDJtXMsU29ja2V0U2VydmljZSBhcyDJtXJ9IGZyb20gJy4vbGliL3NlcnZpY2VzL3NvY2tldC9zb2NrZXQuc2VydmljZSc7Il19