@smartsoft001/crud-shell-angular 1.1.733 → 1.1.737
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{esm2015/index.js → esm2020/index.mjs} +0 -0
- package/{esm2015/lib/+state/crud.actions.js → esm2020/lib/+state/crud.actions.mjs} +0 -0
- package/esm2020/lib/+state/crud.effects.mjs +182 -0
- package/esm2020/lib/+state/crud.facade.mjs +88 -0
- package/esm2020/lib/+state/crud.reducer.mjs +212 -0
- package/{esm2015/lib/+state/crud.selectors.js → esm2020/lib/+state/crud.selectors.mjs} +0 -0
- package/esm2020/lib/components/components.module.mjs +109 -0
- package/esm2020/lib/components/export/export.component.mjs +47 -0
- package/esm2020/lib/components/filter/base/base.component.mjs +140 -0
- package/esm2020/lib/components/filter/check/check.component.mjs +36 -0
- package/esm2020/lib/components/filter/date/date.component.mjs +41 -0
- package/esm2020/lib/components/filter/date-with-edit/date-with-edit.component.mjs +44 -0
- package/esm2020/lib/components/filter/filter.component.mjs +29 -0
- package/esm2020/lib/components/filter/flag/flag.component.mjs +16 -0
- package/{esm2015/lib/components/filter/index.js → esm2020/lib/components/filter/index.mjs} +0 -0
- package/esm2020/lib/components/filter/int/int.component.mjs +33 -0
- package/esm2020/lib/components/filter/radio/radio.component.mjs +16 -0
- package/esm2020/lib/components/filter/text/text.component.mjs +16 -0
- package/esm2020/lib/components/filters/filters.component.mjs +111 -0
- package/esm2020/lib/components/filters-config/filters-config.component.mjs +37 -0
- package/esm2020/lib/components/group/group.component.mjs +54 -0
- package/{esm2015/lib/components/index.js → esm2020/lib/components/index.mjs} +0 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +68 -0
- package/esm2020/lib/crud-full.module.mjs +105 -0
- package/esm2020/lib/crud.config.mjs +17 -0
- package/esm2020/lib/crud.module.mjs +107 -0
- package/esm2020/lib/factories/list-pagination/list-pagination.factory.mjs +69 -0
- package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
- package/{esm2015/lib/models/interfaces.js → esm2020/lib/models/interfaces.mjs} +0 -0
- package/esm2020/lib/pages/index.mjs +7 -0
- package/esm2020/lib/pages/item/base/base.component.mjs +44 -0
- package/esm2020/lib/pages/item/item.component.mjs +393 -0
- package/esm2020/lib/pages/item/standard/standard.component.mjs +15 -0
- package/esm2020/lib/pages/list/base/base.component.mjs +23 -0
- package/esm2020/lib/pages/list/list.component.mjs +343 -0
- package/esm2020/lib/pages/list/standard/standard.component.mjs +34 -0
- package/esm2020/lib/pipes/form-options/form-options.pipe.mjs +55 -0
- package/{esm2015/lib/pipes/index.js → esm2020/lib/pipes/index.mjs} +0 -0
- package/esm2020/lib/pipes/pipes.module.mjs +20 -0
- package/{esm2015/lib/providers/model-possibilities/model-possibilities.provider.js → esm2020/lib/providers/model-possibilities/model-possibilities.provider.mjs} +0 -0
- package/esm2020/lib/services/crud/crud.service.mjs +138 -0
- package/esm2020/lib/services/list-group/list-group.service.mjs +60 -0
- package/esm2020/lib/services/page/page.service.mjs +41 -0
- package/{esm2015/lib/services/search/search.service.js → esm2020/lib/services/search/search.service.mjs} +9 -8
- package/esm2020/lib/services/socket/socket.service.mjs +17 -0
- package/esm2020/smartsoft001-crud-shell-angular.mjs +5 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs +2568 -0
- package/fesm2015/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs +2728 -0
- package/fesm2020/smartsoft001-crud-shell-angular.mjs.map +1 -0
- package/lib/+state/crud.effects.d.ts +3 -0
- package/lib/+state/crud.effects.d.ts.map +1 -1
- package/lib/+state/crud.facade.d.ts +3 -0
- package/lib/+state/crud.facade.d.ts.map +1 -1
- package/lib/components/components.module.d.ts +22 -0
- package/lib/components/components.module.d.ts.map +1 -1
- package/lib/components/export/export.component.d.ts +3 -0
- package/lib/components/export/export.component.d.ts.map +1 -1
- package/lib/components/filter/base/base.component.d.ts +3 -0
- package/lib/components/filter/base/base.component.d.ts.map +1 -1
- package/lib/components/filter/check/check.component.d.ts +3 -0
- package/lib/components/filter/check/check.component.d.ts.map +1 -1
- package/lib/components/filter/date/date.component.d.ts +3 -0
- package/lib/components/filter/date/date.component.d.ts.map +1 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts +4 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.d.ts.map +1 -1
- package/lib/components/filter/filter.component.d.ts +3 -0
- package/lib/components/filter/filter.component.d.ts.map +1 -1
- package/lib/components/filter/flag/flag.component.d.ts +3 -0
- package/lib/components/filter/flag/flag.component.d.ts.map +1 -1
- package/lib/components/filter/int/int.component.d.ts +3 -0
- package/lib/components/filter/int/int.component.d.ts.map +1 -1
- package/lib/components/filter/radio/radio.component.d.ts +3 -0
- package/lib/components/filter/radio/radio.component.d.ts.map +1 -1
- package/lib/components/filter/text/text.component.d.ts +3 -0
- package/lib/components/filter/text/text.component.d.ts.map +1 -1
- package/lib/components/filters/filters.component.d.ts +3 -0
- package/lib/components/filters/filters.component.d.ts.map +1 -1
- package/lib/components/filters-config/filters-config.component.d.ts +3 -0
- package/lib/components/filters-config/filters-config.component.d.ts.map +1 -1
- package/lib/components/group/group.component.d.ts +3 -0
- package/lib/components/group/group.component.d.ts.map +1 -1
- package/lib/components/multiselect/multiselect.component.d.ts +3 -0
- package/lib/components/multiselect/multiselect.component.d.ts.map +1 -1
- package/lib/crud-full.module.d.ts +20 -0
- package/lib/crud-full.module.d.ts.map +1 -1
- package/lib/crud.config.d.ts +5 -0
- package/lib/crud.config.d.ts.map +1 -1
- package/lib/crud.module.d.ts +13 -0
- package/lib/crud.module.d.ts.map +1 -1
- package/lib/factories/list-pagination/list-pagination.factory.d.ts +3 -0
- package/lib/factories/list-pagination/list-pagination.factory.d.ts.map +1 -1
- package/lib/pages/index.d.ts +5 -1
- package/lib/pages/index.d.ts.map +1 -1
- package/lib/pages/item/base/base.component.d.ts +3 -0
- package/lib/pages/item/base/base.component.d.ts.map +1 -1
- package/lib/pages/item/item.component.d.ts +3 -0
- package/lib/pages/item/item.component.d.ts.map +1 -1
- package/lib/pages/item/standard/standard.component.d.ts +3 -0
- package/lib/pages/item/standard/standard.component.d.ts.map +1 -1
- package/lib/pages/list/base/base.component.d.ts +3 -0
- package/lib/pages/list/base/base.component.d.ts.map +1 -1
- package/lib/pages/list/list.component.d.ts +3 -0
- package/lib/pages/list/list.component.d.ts.map +1 -1
- package/lib/pages/list/standard/standard.component.d.ts +3 -0
- package/lib/pages/list/standard/standard.component.d.ts.map +1 -1
- package/lib/pipes/form-options/form-options.pipe.d.ts +3 -0
- package/lib/pipes/form-options/form-options.pipe.d.ts.map +1 -1
- package/lib/pipes/pipes.module.d.ts +5 -0
- package/lib/pipes/pipes.module.d.ts.map +1 -1
- package/lib/services/crud/crud.service.d.ts +3 -0
- package/lib/services/crud/crud.service.d.ts.map +1 -1
- package/lib/services/list-group/list-group.service.d.ts +3 -0
- package/lib/services/list-group/list-group.service.d.ts.map +1 -1
- package/lib/services/page/page.service.d.ts +3 -0
- package/lib/services/page/page.service.d.ts.map +1 -1
- package/lib/services/search/search.service.d.ts +3 -0
- package/lib/services/search/search.service.d.ts.map +1 -1
- package/lib/services/socket/socket.service.d.ts +5 -0
- package/lib/services/socket/socket.service.d.ts.map +1 -1
- package/package.json +39 -26
- package/smartsoft001-crud-shell-angular.d.ts +1 -17
- package/smartsoft001-crud-shell-angular.d.ts.map +1 -1
- package/bundles/smartsoft001-crud-shell-angular.umd.js +0 -3332
- package/bundles/smartsoft001-crud-shell-angular.umd.js.map +0 -1
- package/esm2015/lib/+state/crud.effects.js +0 -178
- package/esm2015/lib/+state/crud.facade.js +0 -92
- package/esm2015/lib/+state/crud.reducer.js +0 -92
- package/esm2015/lib/components/components.module.js +0 -65
- package/esm2015/lib/components/export/export.component.js +0 -55
- package/esm2015/lib/components/filter/base/base.component.js +0 -144
- package/esm2015/lib/components/filter/check/check.component.js +0 -34
- package/esm2015/lib/components/filter/date/date.component.js +0 -42
- package/esm2015/lib/components/filter/date-with-edit/date-with-edit.component.js +0 -43
- package/esm2015/lib/components/filter/filter.component.js +0 -30
- package/esm2015/lib/components/filter/flag/flag.component.js +0 -13
- package/esm2015/lib/components/filter/int/int.component.js +0 -31
- package/esm2015/lib/components/filter/radio/radio.component.js +0 -13
- package/esm2015/lib/components/filter/text/text.component.js +0 -13
- package/esm2015/lib/components/filters/filters.component.js +0 -124
- package/esm2015/lib/components/filters-config/filters-config.component.js +0 -46
- package/esm2015/lib/components/group/group.component.js +0 -65
- package/esm2015/lib/components/multiselect/multiselect.component.js +0 -74
- package/esm2015/lib/crud-full.module.js +0 -83
- package/esm2015/lib/crud.config.js +0 -14
- package/esm2015/lib/crud.module.js +0 -84
- package/esm2015/lib/factories/list-pagination/list-pagination.factory.js +0 -73
- package/esm2015/lib/pages/index.js +0 -3
- package/esm2015/lib/pages/item/base/base.component.js +0 -44
- package/esm2015/lib/pages/item/item.component.js +0 -383
- package/esm2015/lib/pages/item/standard/standard.component.js +0 -13
- package/esm2015/lib/pages/list/base/base.component.js +0 -30
- package/esm2015/lib/pages/list/list.component.js +0 -319
- package/esm2015/lib/pages/list/standard/standard.component.js +0 -39
- package/esm2015/lib/pipes/form-options/form-options.pipe.js +0 -56
- package/esm2015/lib/pipes/pipes.module.js +0 -16
- package/esm2015/lib/services/crud/crud.service.js +0 -143
- package/esm2015/lib/services/list-group/list-group.service.js +0 -61
- package/esm2015/lib/services/page/page.service.js +0 -48
- package/esm2015/lib/services/socket/socket.service.js +0 -14
- package/esm2015/smartsoft001-crud-shell-angular.js +0 -22
- package/fesm2015/smartsoft001-crud-shell-angular.js +0 -2676
- package/fesm2015/smartsoft001-crud-shell-angular.js.map +0 -1
- package/lib/+state/crud.effects.ngfactory.d.ts.map +0 -1
- package/lib/+state/crud.facade.ngfactory.d.ts.map +0 -1
- package/lib/components/components.module.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.ngfactory.d.ts.map +0 -1
- package/lib/components/export/export.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/check/check.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date/date.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/date-with-edit/date-with-edit.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/filter.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/filter.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/flag/flag.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/int/int.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/radio/radio.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filter/text/text.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters/filters.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters/filters.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.ngfactory.d.ts.map +0 -1
- package/lib/components/filters-config/filters-config.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/group/group.component.ngfactory.d.ts.map +0 -1
- package/lib/components/group/group.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.ngfactory.d.ts.map +0 -1
- package/lib/components/multiselect/multiselect.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/crud-full.module.ngfactory.d.ts.map +0 -1
- package/lib/crud.config.ngfactory.d.ts.map +0 -1
- package/lib/crud.module.ngfactory.d.ts.map +0 -1
- package/lib/factories/list-pagination/list-pagination.factory.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/item.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/item/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pages/list/list.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.ngfactory.d.ts.map +0 -1
- package/lib/pages/list/standard/standard.component.scss.shim.ngstyle.d.ts.map +0 -1
- package/lib/pipes/form-options/form-options.pipe.ngfactory.d.ts.map +0 -1
- package/lib/pipes/pipes.module.ngfactory.d.ts.map +0 -1
- package/lib/services/crud/crud.service.ngfactory.d.ts.map +0 -1
- package/lib/services/list-group/list-group.service.ngfactory.d.ts.map +0 -1
- package/lib/services/page/page.service.ngfactory.d.ts.map +0 -1
- package/lib/services/search/search.service.ngfactory.d.ts.map +0 -1
- package/lib/services/socket/socket.service.ngfactory.d.ts.map +0 -1
- package/smartsoft001-crud-shell-angular.metadata.json +0 -1
|
@@ -1,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
|