@smartsoft001/crud-shell-react 0.0.0-stage → 2.193.0
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/README.md +12 -3
- package/package.json +29 -4
- package/src/index.d.ts +19 -0
- package/src/index.js +23 -0
- package/src/index.js.map +1 -0
- package/src/lib/components/export/export.d.ts +7 -0
- package/src/lib/components/export/export.js +15 -0
- package/src/lib/components/export/export.js.map +1 -0
- package/src/lib/components/export/export.types.d.ts +8 -0
- package/src/lib/components/export/export.types.js +3 -0
- package/src/lib/components/export/export.types.js.map +1 -0
- package/src/lib/components/export/index.d.ts +3 -0
- package/src/lib/components/export/index.js +7 -0
- package/src/lib/components/export/index.js.map +1 -0
- package/src/lib/components/export/use-crud-export.d.ts +16 -0
- package/src/lib/components/export/use-crud-export.js +74 -0
- package/src/lib/components/export/use-crud-export.js.map +1 -0
- package/src/lib/components/filter/base/use-crud-filter.d.ts +68 -0
- package/src/lib/components/filter/base/use-crud-filter.js +248 -0
- package/src/lib/components/filter/base/use-crud-filter.js.map +1 -0
- package/src/lib/components/filter/check/filter-check.d.ts +7 -0
- package/src/lib/components/filter/check/filter-check.js +45 -0
- package/src/lib/components/filter/check/filter-check.js.map +1 -0
- package/src/lib/components/filter/date/filter-date.d.ts +7 -0
- package/src/lib/components/filter/date/filter-date.js +19 -0
- package/src/lib/components/filter/date/filter-date.js.map +1 -0
- package/src/lib/components/filter/date/use-crud-filter-date.d.ts +23 -0
- package/src/lib/components/filter/date/use-crud-filter-date.js +41 -0
- package/src/lib/components/filter/date/use-crud-filter-date.js.map +1 -0
- package/src/lib/components/filter/date/use-crud-filter-ng-model.d.ts +6 -0
- package/src/lib/components/filter/date/use-crud-filter-ng-model.js +25 -0
- package/src/lib/components/filter/date/use-crud-filter-ng-model.js.map +1 -0
- package/src/lib/components/filter/date-time/filter-date-time.d.ts +8 -0
- package/src/lib/components/filter/date-time/filter-date-time.js +27 -0
- package/src/lib/components/filter/date-time/filter-date-time.js.map +1 -0
- package/src/lib/components/filter/date-with-edit/filter-date-with-edit.d.ts +9 -0
- package/src/lib/components/filter/date-with-edit/filter-date-with-edit.js +42 -0
- package/src/lib/components/filter/date-with-edit/filter-date-with-edit.js.map +1 -0
- package/src/lib/components/filter/filter.d.ts +8 -0
- package/src/lib/components/filter/filter.js +43 -0
- package/src/lib/components/filter/filter.js.map +1 -0
- package/src/lib/components/filter/filter.types.d.ts +17 -0
- package/src/lib/components/filter/filter.types.js +3 -0
- package/src/lib/components/filter/filter.types.js.map +1 -0
- package/src/lib/components/filter/flag/filter-flag.d.ts +7 -0
- package/src/lib/components/filter/flag/filter-flag.js +20 -0
- package/src/lib/components/filter/flag/filter-flag.js.map +1 -0
- package/src/lib/components/filter/index.d.ts +13 -0
- package/src/lib/components/filter/index.js +17 -0
- package/src/lib/components/filter/index.js.map +1 -0
- package/src/lib/components/filter/int/filter-int.d.ts +12 -0
- package/src/lib/components/filter/int/filter-int.js +47 -0
- package/src/lib/components/filter/int/filter-int.js.map +1 -0
- package/src/lib/components/filter/radio/filter-radio.d.ts +7 -0
- package/src/lib/components/filter/radio/filter-radio.js +20 -0
- package/src/lib/components/filter/radio/filter-radio.js.map +1 -0
- package/src/lib/components/filter/text/filter-text.d.ts +7 -0
- package/src/lib/components/filter/text/filter-text.js +20 -0
- package/src/lib/components/filter/text/filter-text.js.map +1 -0
- package/src/lib/components/filters/filters.d.ts +10 -0
- package/src/lib/components/filters/filters.js +20 -0
- package/src/lib/components/filters/filters.js.map +1 -0
- package/src/lib/components/filters/filters.types.d.ts +5 -0
- package/src/lib/components/filters/filters.types.js +3 -0
- package/src/lib/components/filters/filters.types.js.map +1 -0
- package/src/lib/components/filters/index.d.ts +3 -0
- package/src/lib/components/filters/index.js +7 -0
- package/src/lib/components/filters/index.js.map +1 -0
- package/src/lib/components/filters/use-crud-filters.d.ts +17 -0
- package/src/lib/components/filters/use-crud-filters.js +63 -0
- package/src/lib/components/filters/use-crud-filters.js.map +1 -0
- package/src/lib/components/filters-config/filters-config.d.ts +6 -0
- package/src/lib/components/filters-config/filters-config.js +38 -0
- package/src/lib/components/filters-config/filters-config.js.map +1 -0
- package/src/lib/components/filters-config/index.d.ts +1 -0
- package/src/lib/components/filters-config/index.js +5 -0
- package/src/lib/components/filters-config/index.js.map +1 -0
- package/src/lib/components/group/group.d.ts +10 -0
- package/src/lib/components/group/group.js +19 -0
- package/src/lib/components/group/group.js.map +1 -0
- package/src/lib/components/group/group.types.d.ts +8 -0
- package/src/lib/components/group/group.types.js +3 -0
- package/src/lib/components/group/group.types.js.map +1 -0
- package/src/lib/components/group/index.d.ts +3 -0
- package/src/lib/components/group/index.js +7 -0
- package/src/lib/components/group/index.js.map +1 -0
- package/src/lib/components/group/use-crud-group.d.ts +17 -0
- package/src/lib/components/group/use-crud-group.js +50 -0
- package/src/lib/components/group/use-crud-group.js.map +1 -0
- package/src/lib/components/multiselect/index.d.ts +2 -0
- package/src/lib/components/multiselect/index.js +6 -0
- package/src/lib/components/multiselect/index.js.map +1 -0
- package/src/lib/components/multiselect/multiselect.d.ts +10 -0
- package/src/lib/components/multiselect/multiselect.js +25 -0
- package/src/lib/components/multiselect/multiselect.js.map +1 -0
- package/src/lib/components/multiselect/use-crud-multiselect.d.ts +24 -0
- package/src/lib/components/multiselect/use-crud-multiselect.js +72 -0
- package/src/lib/components/multiselect/use-crud-multiselect.js.map +1 -0
- package/src/lib/crud.config.d.ts +67 -0
- package/src/lib/crud.config.js +3 -0
- package/src/lib/crud.config.js.map +1 -0
- package/src/lib/crud.context.d.ts +23 -0
- package/src/lib/crud.context.js +25 -0
- package/src/lib/crud.context.js.map +1 -0
- package/src/lib/crud.provider.d.ts +16 -0
- package/src/lib/crud.provider.js +69 -0
- package/src/lib/crud.provider.js.map +1 -0
- package/src/lib/factories/form-options.d.ts +10 -0
- package/src/lib/factories/form-options.js +26 -0
- package/src/lib/factories/form-options.js.map +1 -0
- package/src/lib/hooks.d.ts +15 -0
- package/src/lib/hooks.js +66 -0
- package/src/lib/hooks.js.map +1 -0
- package/src/lib/models/index.d.ts +1 -0
- package/src/lib/models/index.js +5 -0
- package/src/lib/models/index.js.map +1 -0
- package/src/lib/models/interfaces.d.ts +29 -0
- package/src/lib/models/interfaces.js +3 -0
- package/src/lib/models/interfaces.js.map +1 -0
- package/src/lib/pages/crud-pages.d.ts +32 -0
- package/src/lib/pages/crud-pages.js +64 -0
- package/src/lib/pages/crud-pages.js.map +1 -0
- package/src/lib/pages/index.d.ts +12 -0
- package/src/lib/pages/index.js +16 -0
- package/src/lib/pages/index.js.map +1 -0
- package/src/lib/pages/item/item-page.d.ts +18 -0
- package/src/lib/pages/item/item-page.js +31 -0
- package/src/lib/pages/item/item-page.js.map +1 -0
- package/src/lib/pages/item/item-page.types.d.ts +47 -0
- package/src/lib/pages/item/item-page.types.js +3 -0
- package/src/lib/pages/item/item-page.types.js.map +1 -0
- package/src/lib/pages/item/standard/item-page-standard.d.ts +10 -0
- package/src/lib/pages/item/standard/item-page-standard.js +19 -0
- package/src/lib/pages/item/standard/item-page-standard.js.map +1 -0
- package/src/lib/pages/item/use-crud-item-page-base.d.ts +22 -0
- package/src/lib/pages/item/use-crud-item-page-base.js +47 -0
- package/src/lib/pages/item/use-crud-item-page-base.js.map +1 -0
- package/src/lib/pages/item/use-crud-item-page.d.ts +44 -0
- package/src/lib/pages/item/use-crud-item-page.js +297 -0
- package/src/lib/pages/item/use-crud-item-page.js.map +1 -0
- package/src/lib/pages/list/list-page.d.ts +17 -0
- package/src/lib/pages/list/list-page.js +32 -0
- package/src/lib/pages/list/list-page.js.map +1 -0
- package/src/lib/pages/list/list-page.types.d.ts +27 -0
- package/src/lib/pages/list/list-page.types.js +3 -0
- package/src/lib/pages/list/list-page.types.js.map +1 -0
- package/src/lib/pages/list/standard/list-page-standard.d.ts +13 -0
- package/src/lib/pages/list/standard/list-page-standard.js +28 -0
- package/src/lib/pages/list/standard/list-page-standard.js.map +1 -0
- package/src/lib/pages/list/use-crud-list-page.d.ts +35 -0
- package/src/lib/pages/list/use-crud-list-page.js +309 -0
- package/src/lib/pages/list/use-crud-list-page.js.map +1 -0
- package/src/lib/pages/use-crud-bound-component.d.ts +10 -0
- package/src/lib/pages/use-crud-bound-component.js +28 -0
- package/src/lib/pages/use-crud-bound-component.js.map +1 -0
- package/src/lib/pages/use-crud-page-config.d.ts +9 -0
- package/src/lib/pages/use-crud-page-config.js +19 -0
- package/src/lib/pages/use-crud-page-config.js.map +1 -0
- package/src/lib/providers/model-label.provider.d.ts +11 -0
- package/src/lib/providers/model-label.provider.js +27 -0
- package/src/lib/providers/model-label.provider.js.map +1 -0
- package/src/lib/services/crud/crud.service.d.ts +44 -0
- package/src/lib/services/crud/crud.service.js +113 -0
- package/src/lib/services/crud/crud.service.js.map +1 -0
- package/src/lib/services/list-group/list-group.service.d.ts +18 -0
- package/src/lib/services/list-group/list-group.service.js +52 -0
- package/src/lib/services/list-group/list-group.service.js.map +1 -0
- package/src/lib/services/page/page.service.d.ts +8 -0
- package/src/lib/services/page/page.service.js +33 -0
- package/src/lib/services/page/page.service.js.map +1 -0
- package/src/lib/services/search/search.service.d.ts +14 -0
- package/src/lib/services/search/search.service.js +28 -0
- package/src/lib/services/search/search.service.js.map +1 -0
- package/src/lib/state/crud.actions.d.ts +157 -0
- package/src/lib/state/crud.actions.js +257 -0
- package/src/lib/state/crud.actions.js.map +1 -0
- package/src/lib/state/crud.effects.d.ts +20 -0
- package/src/lib/state/crud.effects.js +128 -0
- package/src/lib/state/crud.effects.js.map +1 -0
- package/src/lib/state/crud.facade.d.ts +43 -0
- package/src/lib/state/crud.facade.js +93 -0
- package/src/lib/state/crud.facade.js.map +1 -0
- package/src/lib/state/crud.reducer.d.ts +20 -0
- package/src/lib/state/crud.reducer.js +218 -0
- package/src/lib/state/crud.reducer.js.map +1 -0
- package/src/lib/state/crud.selectors.d.ts +9 -0
- package/src/lib/state/crud.selectors.js +25 -0
- package/src/lib/state/crud.selectors.js.map +1 -0
- package/src/lib/state/crud.store.d.ts +17 -0
- package/src/lib/state/crud.store.js +33 -0
- package/src/lib/state/crud.store.js.map +1 -0
- package/src/lib/state/index.d.ts +6 -0
- package/src/lib/state/index.js +10 -0
- package/src/lib/state/index.js.map +1 -0
- package/styles.css +6001 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrudService = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The REST client of a CRUD resource, speaking the same contract as the
|
|
6
|
+
* Angular `CrudService` and `@smartsoft001/crud-shell-nestjs`: the same URLs,
|
|
7
|
+
* the same query string (`$search`, `limit`/`offset`, `sort`, `key=value`
|
|
8
|
+
* filters) and the same CSV / XLSX export.
|
|
9
|
+
*/
|
|
10
|
+
class CrudService {
|
|
11
|
+
config;
|
|
12
|
+
http;
|
|
13
|
+
formatMap = {
|
|
14
|
+
csv: 'text/csv',
|
|
15
|
+
xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
16
|
+
};
|
|
17
|
+
constructor(config, http) {
|
|
18
|
+
this.config = config;
|
|
19
|
+
this.http = http;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Creates `item` and resolves with the id of the new item, read from the
|
|
23
|
+
* `Location` header, or `null` when the API sends none.
|
|
24
|
+
*/
|
|
25
|
+
async create(item) {
|
|
26
|
+
const response = await this.http.request({
|
|
27
|
+
method: 'POST',
|
|
28
|
+
url: this.config.apiUrl,
|
|
29
|
+
body: item,
|
|
30
|
+
});
|
|
31
|
+
const location = response.headers.get('Location');
|
|
32
|
+
if (!location)
|
|
33
|
+
return null;
|
|
34
|
+
const parts = location.split('/');
|
|
35
|
+
return parts[parts.length - 1];
|
|
36
|
+
}
|
|
37
|
+
createMany(items, options) {
|
|
38
|
+
return this.http.post(this.config.apiUrl + '/bulk?mode=' + options.mode, items);
|
|
39
|
+
}
|
|
40
|
+
getById(id) {
|
|
41
|
+
return this.http.get(this.config.apiUrl + '/' + id);
|
|
42
|
+
}
|
|
43
|
+
getList(filter = null) {
|
|
44
|
+
return this.http.get(this.config.apiUrl + this.getQuery(filter));
|
|
45
|
+
}
|
|
46
|
+
/** Downloads the list matching `filter` as `data.csv` or `data.xlsx`. */
|
|
47
|
+
async exportList(filter = null, format = 'csv') {
|
|
48
|
+
if (!format)
|
|
49
|
+
format = 'csv';
|
|
50
|
+
if (format === 'xlsx') {
|
|
51
|
+
const blob = await this.http.get(this.config.apiUrl + this.getQuery(filter), {
|
|
52
|
+
headers: { 'Content-Type': this.formatMap[format] },
|
|
53
|
+
responseType: 'blob',
|
|
54
|
+
});
|
|
55
|
+
this.download(blob, format);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const text = await this.http.get(this.config.apiUrl + this.getQuery(filter), {
|
|
59
|
+
headers: { 'Content-Type': this.formatMap[format] },
|
|
60
|
+
responseType: 'text',
|
|
61
|
+
});
|
|
62
|
+
this.download(new Blob(['', text]), format);
|
|
63
|
+
}
|
|
64
|
+
update(item) {
|
|
65
|
+
return this.http.put(this.config.apiUrl + '/' + item.id, item);
|
|
66
|
+
}
|
|
67
|
+
updatePartial(item) {
|
|
68
|
+
return this.http.patch(this.config.apiUrl + '/' + item.id, item);
|
|
69
|
+
}
|
|
70
|
+
updatePartialMany(items) {
|
|
71
|
+
return Promise.all(items.map((item) => this.updatePartial(item)));
|
|
72
|
+
}
|
|
73
|
+
delete(id) {
|
|
74
|
+
return this.http.delete(this.config.apiUrl + '/' + id);
|
|
75
|
+
}
|
|
76
|
+
getQuery(filter) {
|
|
77
|
+
let query = '';
|
|
78
|
+
if (filter && filter.searchText) {
|
|
79
|
+
query += '&$search=' + filter.searchText;
|
|
80
|
+
}
|
|
81
|
+
if (filter && filter.limit) {
|
|
82
|
+
query += `&limit=${filter.limit}&offset=${filter.offset ? filter.offset : 0}`;
|
|
83
|
+
}
|
|
84
|
+
if (filter && filter.sortBy) {
|
|
85
|
+
query += `&sort=${(filter.sortDesc ? '-' : '') + filter.sortBy}`;
|
|
86
|
+
}
|
|
87
|
+
if (filter && filter.query) {
|
|
88
|
+
filter.query.forEach((q) => {
|
|
89
|
+
if (q.value &&
|
|
90
|
+
typeof q.value === 'string' &&
|
|
91
|
+
q.value.match(/^-?\d+$/) &&
|
|
92
|
+
q.value[0] !== "'" &&
|
|
93
|
+
q.value[0] !== '"') {
|
|
94
|
+
query += '&' + q.key + q.type + `'${q.value}'`;
|
|
95
|
+
}
|
|
96
|
+
else {
|
|
97
|
+
query += '&' + q.key + q.type + q.value;
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return query ? '?' + query.replace('&', '') : '';
|
|
102
|
+
}
|
|
103
|
+
download(blob, format) {
|
|
104
|
+
const downloadLink = document.createElement('a');
|
|
105
|
+
downloadLink.href = URL.createObjectURL(blob);
|
|
106
|
+
downloadLink.download = 'data.' + format;
|
|
107
|
+
document.body.appendChild(downloadLink);
|
|
108
|
+
downloadLink.click();
|
|
109
|
+
document.body.removeChild(downloadLink);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
exports.CrudService = CrudService;
|
|
113
|
+
//# sourceMappingURL=crud.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"crud.service.js","sourceRoot":"","sources":["../../../../../../../../../packages/crud/shell/react/src/lib/services/crud/crud.service.ts"],"names":[],"mappings":";;;AAYA;;;;;GAKG;AACH,MAAa,WAAW;IAOD;IACA;IAPF,SAAS,GAAG;QAC7B,GAAG,EAAE,UAAU;QACf,IAAI,EAAE,mEAAmE;KAC1E,CAAC;IAEF,YACqB,MAAqB,EACrB,IAAqB;QADrB,WAAM,GAAN,MAAM,CAAe;QACrB,SAAI,GAAJ,IAAI,CAAiB;IACvC,CAAC;IAEJ;;;OAGG;IACH,KAAK,CAAC,MAAM,CAAC,IAAO;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAO;YAC7C,MAAM,EAAE,MAAM;YACd,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YACvB,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAElD,IAAI,CAAC,QAAQ;YAAE,OAAO,IAAI,CAAC;QAE3B,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAElC,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,KAAe,EAAE,OAA+B;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,aAAa,GAAG,OAAO,CAAC,IAAI,EACjD,KAAK,CACN,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,EAAU;QAChB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAI,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CACL,SAA6B,IAAI;QAEjC,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAClB,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,UAAU,CACd,SAA6B,IAAI,EACjC,SAAyB,KAAK;QAE9B,IAAI,CAAC,MAAM;YAAE,MAAM,GAAG,KAAK,CAAC;QAE5B,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC1C;gBACE,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;gBACnD,YAAY,EAAE,MAAM;aACrB,CACF,CAAC;YAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC9B,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC1C;YACE,OAAO,EAAE,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE;YACnD,YAAY,EAAE,MAAM;SACrB,CACF,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,MAAM,CAAC,IAAO;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,aAAa,CAAC,IAAiC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACzE,CAAC;IAED,iBAAiB,CAAC,KAAsC;QACtD,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,MAAM,CAAC,EAAU;QACf,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAG,EAAE,CAAC,CAAC;IAC/D,CAAC;IAES,QAAQ,CAAC,MAA0B;QAC3C,IAAI,KAAK,GAAG,EAAE,CAAC;QAEf,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YAChC,KAAK,IAAI,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC;QAC3C,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3B,KAAK,IAAI,UAAU,MAAM,CAAC,KAAK,WAC7B,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAClC,EAAE,CAAC;QACL,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAC5B,KAAK,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QACnE,CAAC;QAED,IAAI,MAAM,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC3B,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACzB,IACE,CAAC,CAAC,KAAK;oBACP,OAAO,CAAC,CAAC,KAAK,KAAK,QAAQ;oBAC3B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC;oBACxB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG;oBAClB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAClB,CAAC;oBACD,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC;gBACjD,CAAC;qBAAM,CAAC;oBACN,KAAK,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC;gBAC1C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnD,CAAC;IAEO,QAAQ,CAAC,IAAU,EAAE,MAAc;QACzC,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAEjD,YAAY,CAAC,IAAI,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC9C,YAAY,CAAC,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;QACzC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;QACxC,YAAY,CAAC,KAAK,EAAE,CAAC;QACrB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAC1C,CAAC;CACF;AA7ID,kCA6IC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { IEntity } from '@smartsoft001/domain-core';
|
|
2
|
+
import { ICrudListGroup } from '../../models';
|
|
3
|
+
import { CrudFacade } from '../../state/crud.facade';
|
|
4
|
+
/**
|
|
5
|
+
* Filters the list by a group (a `key = value` query item hidden from the
|
|
6
|
+
* filters), and drops the groups' query items again, batched, when the groups
|
|
7
|
+
* go away.
|
|
8
|
+
*/
|
|
9
|
+
export declare class CrudListGroupService<T extends IEntity<string>> {
|
|
10
|
+
private readonly facade;
|
|
11
|
+
private destroyed;
|
|
12
|
+
private refreshTimer;
|
|
13
|
+
constructor(facade: CrudFacade<T>);
|
|
14
|
+
change(val: boolean, item: ICrudListGroup, force?: boolean): void;
|
|
15
|
+
destroy(groups: Array<ICrudListGroup>): void;
|
|
16
|
+
private scheduleRefresh;
|
|
17
|
+
private refresh;
|
|
18
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrudListGroupService = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Filters the list by a group (a `key = value` query item hidden from the
|
|
6
|
+
* filters), and drops the groups' query items again, batched, when the groups
|
|
7
|
+
* go away.
|
|
8
|
+
*/
|
|
9
|
+
class CrudListGroupService {
|
|
10
|
+
facade;
|
|
11
|
+
destroyed = [];
|
|
12
|
+
refreshTimer = null;
|
|
13
|
+
constructor(facade) {
|
|
14
|
+
this.facade = facade;
|
|
15
|
+
}
|
|
16
|
+
change(val, item, force = false) {
|
|
17
|
+
if (!val && !force)
|
|
18
|
+
return;
|
|
19
|
+
item.changed = true;
|
|
20
|
+
const filter = this.facade.filter;
|
|
21
|
+
let current = filter?.query?.find((q) => q.key === item.key && q.type === '=');
|
|
22
|
+
if (!current) {
|
|
23
|
+
current = { key: item.key, type: '=', value: null };
|
|
24
|
+
if (filter?.query)
|
|
25
|
+
filter.query.push(current);
|
|
26
|
+
}
|
|
27
|
+
current.value = item.value;
|
|
28
|
+
current.hidden = true;
|
|
29
|
+
this.facade.read({ ...this.facade.filter, offset: 0 });
|
|
30
|
+
}
|
|
31
|
+
destroy(groups) {
|
|
32
|
+
this.destroyed = [...this.destroyed, ...groups.filter((g) => g.changed)];
|
|
33
|
+
this.scheduleRefresh();
|
|
34
|
+
}
|
|
35
|
+
scheduleRefresh() {
|
|
36
|
+
if (this.refreshTimer)
|
|
37
|
+
clearTimeout(this.refreshTimer);
|
|
38
|
+
this.refreshTimer = setTimeout(() => {
|
|
39
|
+
this.refreshTimer = null;
|
|
40
|
+
this.refresh();
|
|
41
|
+
}, 250);
|
|
42
|
+
}
|
|
43
|
+
refresh() {
|
|
44
|
+
const list = this.destroyed;
|
|
45
|
+
this.destroyed = [];
|
|
46
|
+
const filter = this.facade.filter;
|
|
47
|
+
const newQuery = filter?.query?.filter((q) => !list.some((i) => q.key === i.key)) || [];
|
|
48
|
+
this.facade.read({ ...this.facade.filter, query: newQuery });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
exports.CrudListGroupService = CrudListGroupService;
|
|
52
|
+
//# sourceMappingURL=list-group.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-group.service.js","sourceRoot":"","sources":["../../../../../../../../../packages/crud/shell/react/src/lib/services/list-group/list-group.service.ts"],"names":[],"mappings":";;;AAKA;;;;GAIG;AACH,MAAa,oBAAoB;IAIF;IAHrB,SAAS,GAA0B,EAAE,CAAC;IACtC,YAAY,GAAyC,IAAI,CAAC;IAElE,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;IAAG,CAAC;IAEtD,MAAM,CAAC,GAAY,EAAE,IAAoB,EAAE,KAAK,GAAG,KAAK;QACtD,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK;YAAE,OAAO;QAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,OAAO,GAAG,MAAM,EAAE,KAAK,EAAE,IAAI,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,GAAG,CAC5C,CAAC;QAEF,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;YAEpD,IAAI,MAAM,EAAE,KAAK;gBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,CAAC;QAED,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;QAEtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,CAAC,MAA6B;QACnC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe;QACrB,IAAI,IAAI,CAAC,YAAY;YAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEvD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;YACzB,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAEO,OAAO;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QAEpB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,MAAM,QAAQ,GACZ,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAEzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/D,CAAC;CACF;AApDD,oDAoDC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AuthService } from '@smartsoft001/react';
|
|
2
|
+
import { CrudFullConfig } from '../../crud.config';
|
|
3
|
+
/**
|
|
4
|
+
* Turns off `add`, `edit` and `remove` when the model's `create`, `update`
|
|
5
|
+
* or `remove` permissions are not granted. The Angular `PageService` changed
|
|
6
|
+
* the injected config in place; this returns a new config instead.
|
|
7
|
+
*/
|
|
8
|
+
export declare function applyPagePermissions<T>(config: CrudFullConfig<T>, authService: Pick<AuthService, 'expectPermissions'>): CrudFullConfig<T>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.applyPagePermissions = applyPagePermissions;
|
|
4
|
+
const models_1 = require("@smartsoft001/models");
|
|
5
|
+
/**
|
|
6
|
+
* Turns off `add`, `edit` and `remove` when the model's `create`, `update`
|
|
7
|
+
* or `remove` permissions are not granted. The Angular `PageService` changed
|
|
8
|
+
* the injected config in place; this returns a new config instead.
|
|
9
|
+
*/
|
|
10
|
+
function applyPagePermissions(config, authService) {
|
|
11
|
+
const val = { ...config };
|
|
12
|
+
const modelOptions = (0, models_1.getModelOptions)(val.type) ?? {};
|
|
13
|
+
if (val.add &&
|
|
14
|
+
modelOptions.create &&
|
|
15
|
+
modelOptions.create.permissions &&
|
|
16
|
+
!authService.expectPermissions(modelOptions.create.permissions)) {
|
|
17
|
+
val.add = false;
|
|
18
|
+
}
|
|
19
|
+
if (val.edit &&
|
|
20
|
+
modelOptions.update &&
|
|
21
|
+
modelOptions.update.permissions &&
|
|
22
|
+
!authService.expectPermissions(modelOptions.update.permissions)) {
|
|
23
|
+
val.edit = false;
|
|
24
|
+
}
|
|
25
|
+
if (val.remove &&
|
|
26
|
+
modelOptions.remove &&
|
|
27
|
+
modelOptions.remove.permissions &&
|
|
28
|
+
!authService.expectPermissions(modelOptions.remove.permissions)) {
|
|
29
|
+
val.remove = false;
|
|
30
|
+
}
|
|
31
|
+
return val;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=page.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page.service.js","sourceRoot":"","sources":["../../../../../../../../../packages/crud/shell/react/src/lib/services/page/page.service.ts"],"names":[],"mappings":";;AAUA,oDAmCC;AA7CD,iDAAuD;AAKvD;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,MAAyB,EACzB,WAAmD;IAEnD,MAAM,GAAG,GAAsB,EAAE,GAAG,MAAM,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,IAAA,wBAAe,EAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAErD,IACE,GAAG,CAAC,GAAG;QACP,YAAY,CAAC,MAAM;QACnB,YAAY,CAAC,MAAM,CAAC,WAAW;QAC/B,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAC/D,CAAC;QACD,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,IACE,GAAG,CAAC,IAAI;QACR,YAAY,CAAC,MAAM;QACnB,YAAY,CAAC,MAAM,CAAC,WAAW;QAC/B,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAC/D,CAAC;QACD,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC;IACnB,CAAC;IAED,IACE,GAAG,CAAC,MAAM;QACV,YAAY,CAAC,MAAM;QACnB,YAAY,CAAC,MAAM,CAAC,WAAW;QAC/B,CAAC,WAAW,CAAC,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,EAC/D,CAAC;QACD,GAAG,CAAC,MAAM,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { SmartStore } from '@smartsoft001/react';
|
|
2
|
+
import { ICrudFilter } from '../../models';
|
|
3
|
+
/**
|
|
4
|
+
* The search the page header drives and the list applies: a filter that only
|
|
5
|
+
* counts while search is enabled.
|
|
6
|
+
*/
|
|
7
|
+
export declare class CrudSearchService {
|
|
8
|
+
readonly filterStore: SmartStore<Partial<ICrudFilter>>;
|
|
9
|
+
readonly enabledStore: SmartStore<boolean>;
|
|
10
|
+
get filter(): Partial<ICrudFilter>;
|
|
11
|
+
get enabled(): boolean;
|
|
12
|
+
setFilter(val: Partial<ICrudFilter>): void;
|
|
13
|
+
setEnabled(val: boolean): void;
|
|
14
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CrudSearchService = void 0;
|
|
4
|
+
const react_1 = require("@smartsoft001/react");
|
|
5
|
+
/**
|
|
6
|
+
* The search the page header drives and the list applies: a filter that only
|
|
7
|
+
* counts while search is enabled.
|
|
8
|
+
*/
|
|
9
|
+
class CrudSearchService {
|
|
10
|
+
filterStore = new react_1.SmartStore({});
|
|
11
|
+
enabledStore = new react_1.SmartStore(false);
|
|
12
|
+
get filter() {
|
|
13
|
+
if (!this.enabledStore.get())
|
|
14
|
+
return {};
|
|
15
|
+
return this.filterStore.get() || {};
|
|
16
|
+
}
|
|
17
|
+
get enabled() {
|
|
18
|
+
return this.enabledStore.get();
|
|
19
|
+
}
|
|
20
|
+
setFilter(val) {
|
|
21
|
+
this.filterStore.set(val);
|
|
22
|
+
}
|
|
23
|
+
setEnabled(val) {
|
|
24
|
+
this.enabledStore.set(val);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
exports.CrudSearchService = CrudSearchService;
|
|
28
|
+
//# sourceMappingURL=search.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"search.service.js","sourceRoot":"","sources":["../../../../../../../../../packages/crud/shell/react/src/lib/services/search/search.service.ts"],"names":[],"mappings":";;;AAAA,+CAAiD;AAIjD;;;GAGG;AACH,MAAa,iBAAiB;IACnB,WAAW,GAAG,IAAI,kBAAU,CAAuB,EAAE,CAAC,CAAC;IACvD,YAAY,GAAG,IAAI,kBAAU,CAAU,KAAK,CAAC,CAAC;IAEvD,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE;YAAE,OAAO,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IAED,SAAS,CAAC,GAAyB;QACjC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,GAAY;QACrB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AArBD,8CAqBC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import { IEntity } from '@smartsoft001/domain-core';
|
|
2
|
+
import { ICrudCreateManyOptions, ICrudFilter } from '../models';
|
|
3
|
+
/** A CRUD action: a `type` naming the entity and the operation, plus its data. */
|
|
4
|
+
export interface CrudAction {
|
|
5
|
+
type: string;
|
|
6
|
+
[key: string]: any;
|
|
7
|
+
}
|
|
8
|
+
type Action = CrudAction;
|
|
9
|
+
export declare const create: <T extends IEntity<string>>(entity: string, item: T) => Action & {
|
|
10
|
+
item: T;
|
|
11
|
+
};
|
|
12
|
+
export declare const createSuccess: <T extends IEntity<string>>(entity: string, item: T) => Action & {
|
|
13
|
+
item: T;
|
|
14
|
+
};
|
|
15
|
+
export declare const createFailure: <T extends IEntity<string>>(entity: string, item: T, error: any) => Action & {
|
|
16
|
+
item: T;
|
|
17
|
+
error: any;
|
|
18
|
+
};
|
|
19
|
+
export declare const createMany: <T extends IEntity<string>>(entity: string, data: {
|
|
20
|
+
items: T[];
|
|
21
|
+
options: ICrudCreateManyOptions;
|
|
22
|
+
}) => Action & {
|
|
23
|
+
data: {
|
|
24
|
+
items: T[];
|
|
25
|
+
options: ICrudCreateManyOptions;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare const createManySuccess: <T extends IEntity<string>>(entity: string, data: {
|
|
29
|
+
items: T[];
|
|
30
|
+
options: ICrudCreateManyOptions;
|
|
31
|
+
}) => Action & {
|
|
32
|
+
data: {
|
|
33
|
+
items: T[];
|
|
34
|
+
options: ICrudCreateManyOptions;
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
export declare const createManyFailure: <T extends IEntity<string>>(entity: string, data: {
|
|
38
|
+
items: T[];
|
|
39
|
+
options: ICrudCreateManyOptions;
|
|
40
|
+
}, error: any) => Action & {
|
|
41
|
+
data: {
|
|
42
|
+
items: T[];
|
|
43
|
+
options: ICrudCreateManyOptions;
|
|
44
|
+
};
|
|
45
|
+
error: any;
|
|
46
|
+
};
|
|
47
|
+
export declare const read: (entity: string, filter?: ICrudFilter) => Action & {
|
|
48
|
+
filter?: ICrudFilter;
|
|
49
|
+
};
|
|
50
|
+
export declare const readSuccess: <T extends IEntity<string>, F>(entity: string, filter: F, result: {
|
|
51
|
+
data: T[];
|
|
52
|
+
totalCount: number;
|
|
53
|
+
links: any;
|
|
54
|
+
}) => Action & {
|
|
55
|
+
result: {
|
|
56
|
+
data: T[];
|
|
57
|
+
totalCount: number;
|
|
58
|
+
links: any;
|
|
59
|
+
};
|
|
60
|
+
filter: F;
|
|
61
|
+
};
|
|
62
|
+
export declare const readFailure: <F>(entity: string, filter: F, error: any) => Action & {
|
|
63
|
+
filter: F;
|
|
64
|
+
error: any;
|
|
65
|
+
};
|
|
66
|
+
export declare const clear: (entity: string) => Action;
|
|
67
|
+
export declare const exportList: (entity: string, filter: (ICrudFilter | null) | undefined, format: any) => Action & {
|
|
68
|
+
filter: ICrudFilter;
|
|
69
|
+
format: any;
|
|
70
|
+
};
|
|
71
|
+
export declare const exportListSuccess: <T extends IEntity<string>, F>(entity: string, filter: F) => Action & {
|
|
72
|
+
filter: F;
|
|
73
|
+
};
|
|
74
|
+
export declare const exportListFailure: <F>(entity: string, filter: F, error: any) => Action & {
|
|
75
|
+
filter: F;
|
|
76
|
+
error: any;
|
|
77
|
+
};
|
|
78
|
+
export declare const select: (entity: string, id: string) => Action & {
|
|
79
|
+
id: string;
|
|
80
|
+
};
|
|
81
|
+
export declare const selectSuccess: <T extends IEntity<string>, F>(entity: string, id: string, item: T) => Action & {
|
|
82
|
+
id: string;
|
|
83
|
+
item: T;
|
|
84
|
+
};
|
|
85
|
+
export declare const selectFailure: <F>(entity: string, id: string, error: any) => Action & {
|
|
86
|
+
id: string;
|
|
87
|
+
error: any;
|
|
88
|
+
};
|
|
89
|
+
export declare const unselect: (entity: string) => Action;
|
|
90
|
+
export declare const multiSelect: <T extends IEntity<string>>(entity: string, items: Array<T>) => Action & {
|
|
91
|
+
items: Array<T>;
|
|
92
|
+
};
|
|
93
|
+
export declare const update: <T extends IEntity<string>>(entity: string, item: T) => Action & {
|
|
94
|
+
item: T;
|
|
95
|
+
};
|
|
96
|
+
export declare const updateSuccess: <T extends IEntity<string>>(entity: string, item: T) => Action & {
|
|
97
|
+
item: T;
|
|
98
|
+
};
|
|
99
|
+
export declare const updateFailure: <T extends IEntity<string>>(entity: string, item: T, error: any) => Action & {
|
|
100
|
+
item: T;
|
|
101
|
+
error: any;
|
|
102
|
+
};
|
|
103
|
+
export declare const updatePartial: <T extends IEntity<string>>(entity: string, item: Partial<T> & {
|
|
104
|
+
id: string;
|
|
105
|
+
}) => Action & {
|
|
106
|
+
item: Partial<T> & {
|
|
107
|
+
id: string;
|
|
108
|
+
};
|
|
109
|
+
};
|
|
110
|
+
export declare const updatePartialSuccess: <T extends IEntity<string>>(entity: string, item: Partial<T> & {
|
|
111
|
+
id: string;
|
|
112
|
+
}) => Action & {
|
|
113
|
+
item: Partial<T> & {
|
|
114
|
+
id: string;
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
export declare const updatePartialFailure: <T extends IEntity<string>>(entity: string, item: Partial<T> & {
|
|
118
|
+
id: string;
|
|
119
|
+
}, error: any) => Action & {
|
|
120
|
+
item: Partial<T> & {
|
|
121
|
+
id: string;
|
|
122
|
+
};
|
|
123
|
+
error: any;
|
|
124
|
+
};
|
|
125
|
+
export declare const updatePartialMany: <T extends IEntity<string>>(entity: string, items: (Partial<T> & {
|
|
126
|
+
id: string;
|
|
127
|
+
})[]) => Action & {
|
|
128
|
+
items: (Partial<T> & {
|
|
129
|
+
id: string;
|
|
130
|
+
})[];
|
|
131
|
+
};
|
|
132
|
+
export declare const updatePartialManySuccess: <T extends IEntity<string>>(entity: string, items: (Partial<T> & {
|
|
133
|
+
id: string;
|
|
134
|
+
})[]) => Action & {
|
|
135
|
+
items: (Partial<T> & {
|
|
136
|
+
id: string;
|
|
137
|
+
})[];
|
|
138
|
+
};
|
|
139
|
+
export declare const updatePartialManyFailure: <T extends IEntity<string>>(entity: string, items: (Partial<T> & {
|
|
140
|
+
id: string;
|
|
141
|
+
})[], error: any) => Action & {
|
|
142
|
+
items: (Partial<T> & {
|
|
143
|
+
id: string;
|
|
144
|
+
})[];
|
|
145
|
+
error: any;
|
|
146
|
+
};
|
|
147
|
+
export declare const deleteItem: (entity: string, id: string) => Action & {
|
|
148
|
+
id: string;
|
|
149
|
+
};
|
|
150
|
+
export declare const deleteSuccess: (entity: string, id: string) => Action & {
|
|
151
|
+
id: string;
|
|
152
|
+
};
|
|
153
|
+
export declare const deleteFailure: <F>(entity: string, id: string, error: any) => Action & {
|
|
154
|
+
id: string;
|
|
155
|
+
error: any;
|
|
156
|
+
};
|
|
157
|
+
export {};
|