@solidev/data 0.4.8 → 0.5.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.
Files changed (91) hide show
  1. package/fesm2022/solidev-data.mjs +158 -157
  2. package/fesm2022/solidev-data.mjs.map +1 -1
  3. package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +2 -2
  4. package/package.json +5 -7
  5. package/esm2022/lib/auth/auth-interceptor.service.mjs +0 -113
  6. package/esm2022/lib/auth/auth.service.mjs +0 -216
  7. package/esm2022/lib/auth/jwt.mjs +0 -21
  8. package/esm2022/lib/data/data-backend.mjs +0 -162
  9. package/esm2022/lib/data/data-collection.mjs +0 -125
  10. package/esm2022/lib/data/data-collection.mock.mjs +0 -39
  11. package/esm2022/lib/data/data-model.mjs +0 -291
  12. package/esm2022/lib/data/data-parameters.mjs +0 -34
  13. package/esm2022/lib/data/data-query.mjs +0 -154
  14. package/esm2022/lib/data/data-query.mock.mjs +0 -46
  15. package/esm2022/lib/data/fields/base.mjs +0 -144
  16. package/esm2022/lib/data/fields/boolean.mjs +0 -38
  17. package/esm2022/lib/data/fields/computed.mjs +0 -10
  18. package/esm2022/lib/data/fields/datetime.mjs +0 -167
  19. package/esm2022/lib/data/fields/index.mjs +0 -8
  20. package/esm2022/lib/data/fields/numbers.mjs +0 -38
  21. package/esm2022/lib/data/fields/primaryfield.mjs +0 -9
  22. package/esm2022/lib/data/fields/relations.mjs +0 -53
  23. package/esm2022/lib/data/fields/stringfields.mjs +0 -71
  24. package/esm2022/lib/dispedit/choice.pipe.mjs +0 -79
  25. package/esm2022/lib/dispedit/dispedit/dispedit.component.mjs +0 -480
  26. package/esm2022/lib/dispedit/dispedit/dispedit.constants.mjs +0 -2
  27. package/esm2022/lib/dispedit/factor.pipe.mjs +0 -81
  28. package/esm2022/lib/dispedit/factorc.pipe.mjs +0 -99
  29. package/esm2022/lib/dispedit/fkselect/fkselect.component.mjs +0 -139
  30. package/esm2022/lib/dispedit/flags/flags.component.mjs +0 -137
  31. package/esm2022/lib/dispedit/m2mselect/m2mselect.component.mjs +0 -312
  32. package/esm2022/lib/dispedit/richedit/richedit.component.mjs +0 -126
  33. package/esm2022/lib/dispedit/sdelete/sdelete.component.mjs +0 -103
  34. package/esm2022/lib/messages/message-zone/message-zone.component.mjs +0 -53
  35. package/esm2022/lib/messages/message.service.mjs +0 -151
  36. package/esm2022/lib/modellist/model-list-fields/model-list-field-header/messages.mjs +0 -2
  37. package/esm2022/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +0 -61
  38. package/esm2022/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +0 -64
  39. package/esm2022/lib/modellist/model-list-fields/model-list-fields.mjs +0 -273
  40. package/esm2022/lib/modellist/model-list-filters/filters/filtertypes.mjs +0 -3
  41. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +0 -109
  42. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +0 -28
  43. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +0 -29
  44. package/esm2022/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +0 -9
  45. package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.component.mjs +0 -40
  46. package/esm2022/lib/modellist/model-list-filters/filters/model-list-date-filter/model-list-date-filter.mjs +0 -14
  47. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +0 -40
  48. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +0 -14
  49. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +0 -21
  50. package/esm2022/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +0 -14
  51. package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +0 -49
  52. package/esm2022/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +0 -23
  53. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/adapters/ban.mjs +0 -24
  54. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +0 -63
  55. package/esm2022/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +0 -16
  56. package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +0 -46
  57. package/esm2022/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +0 -49
  58. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +0 -56
  59. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +0 -40
  60. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +0 -51
  61. package/esm2022/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +0 -21
  62. package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +0 -40
  63. package/esm2022/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +0 -17
  64. package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +0 -174
  65. package/esm2022/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +0 -18
  66. package/esm2022/lib/modellist/model-list-filters/model-list-filter-group.mjs +0 -19
  67. package/esm2022/lib/modellist/model-list-filters/model-list-filter.mjs +0 -157
  68. package/esm2022/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +0 -50
  69. package/esm2022/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +0 -51
  70. package/esm2022/lib/modellist/model-list-filters/model-list-filters.mjs +0 -134
  71. package/esm2022/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +0 -69
  72. package/esm2022/lib/modellist/model-list-paginator/model-list-paginator.mjs +0 -47
  73. package/esm2022/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +0 -49
  74. package/esm2022/lib/modellist/model-list-sorter/model-list-sorter.mjs +0 -116
  75. package/esm2022/lib/modellist/model-list.service.mjs +0 -168
  76. package/esm2022/lib/routing/breadcrumb/breadcrumb.component.mjs +0 -138
  77. package/esm2022/lib/routing/routing.mjs +0 -57
  78. package/esm2022/lib/updates/update/update.component.mjs +0 -17
  79. package/esm2022/lib/updates/update.service.mjs +0 -58
  80. package/esm2022/lib/uploader/index.mjs +0 -6
  81. package/esm2022/lib/uploader/interfaces.mjs +0 -8
  82. package/esm2022/lib/uploader/ng-file-drop.directive.mjs +0 -81
  83. package/esm2022/lib/uploader/ng-file-select.directive.mjs +0 -51
  84. package/esm2022/lib/uploader/ngx-uploader.class.mjs +0 -308
  85. package/esm2022/lib/uploader/ngx-uploader.module.mjs +0 -17
  86. package/esm2022/lib/utils/slugify.mjs +0 -16
  87. package/esm2022/lib/utils/tab-memory.service.mjs +0 -80
  88. package/esm2022/lib/utils/template.mjs +0 -72
  89. package/esm2022/public-api.mjs +0 -56
  90. package/esm2022/solidev-data.mjs +0 -5
  91. package/solidev-data-0.4.8.tgz +0 -0
@@ -1,154 +0,0 @@
1
- import { combineLatest, ReplaySubject, share } from 'rxjs';
2
- import { switchMap } from 'rxjs/operators';
3
- export class Queryset {
4
- constructor(_coll, options = {}) {
5
- this._coll = _coll;
6
- /** Current filter data */
7
- this.filterData = {};
8
- /** Current sorter data */
9
- this.sortData = [];
10
- /** Current fields */
11
- this.fields = [];
12
- /** Current page size */
13
- this.pageSize = 500;
14
- /** Current page number */
15
- this.page = 1;
16
- this._loading = new ReplaySubject(1);
17
- /** Loading status (true if currently fetching data) */
18
- this.loading = this._loading.asObservable().pipe(share());
19
- this._meta = new ReplaySubject(1);
20
- /** Results meta part observable */
21
- this.meta = this._meta.asObservable().pipe(share());
22
- this._results = new ReplaySubject(1);
23
- /** Results data part observable */
24
- this.results = this._results.asObservable().pipe(share());
25
- this._full = combineLatest([
26
- this.results,
27
- this.loading,
28
- this.meta,
29
- ]);
30
- /** Full results observable (results, loading, meta) */
31
- this.full = this._full.pipe(share());
32
- this._pristine = true;
33
- /** Default options */
34
- // console.log('@solidev/data: Creating collection', _coll);
35
- this.options = { emitFields: true };
36
- Object.assign(this.options, options);
37
- }
38
- /** Pristine status (true if it has not collected results yet) */
39
- get pristine() {
40
- return this._pristine;
41
- }
42
- /**
43
- * Update current filter data. Null or undefined values are removed from filter data.
44
- * @param params filter data
45
- * @param update boolean to update filter data instead of recreating it from scratch
46
- */
47
- filter(params = {}, update = false) {
48
- if (!update) {
49
- this.filterData = {};
50
- }
51
- for (const k of Object.keys(params)) {
52
- if (params[k] === undefined || params[k] === null) {
53
- delete this.filterData[k];
54
- }
55
- else {
56
- this.filterData[k] = params[k];
57
- }
58
- }
59
- return this;
60
- }
61
- /**
62
- * Update sorting parameters, list of strings giving sort parameters e.g. sort("+name", "-id").
63
- * @param sorting strings of sort parameters
64
- */
65
- sort(...sorting) {
66
- this.sortData = sorting;
67
- return this;
68
- }
69
- /**
70
- * Update page size.
71
- * @param pageSize required page size
72
- */
73
- paginateBy(pageSize = 20) {
74
- this.pageSize = pageSize;
75
- return this;
76
- }
77
- /**
78
- * Update current page number.
79
- * @param page required pqge
80
- * @param fragment TODO: fragment usage for router usage
81
- */
82
- setPage(page = 1, fragment) {
83
- if (page !== this.page) {
84
- this.page = page;
85
- // if (this.options.router) {
86
- // // TODO: check and fix usage of fragment/query params
87
- // const frag = fragment
88
- // ? fragment
89
- // : this.options.hash || this.options.name;
90
- // const _ = this.options.router.navigate([], {
91
- // queryParams: { page: page.toString() },
92
- // fragment: frag,
93
- // queryParamsHandling: 'merge',
94
- // });
95
- // }
96
- }
97
- return this;
98
- }
99
- setFields(fields) {
100
- this.fields = fields;
101
- return this;
102
- }
103
- getQueryParams() {
104
- const f = {};
105
- Object.assign(f, this.filterData);
106
- if (this.sortData.length) {
107
- f['ordering'] = this.sortData.join(',');
108
- }
109
- f['page_size'] = this.pageSize;
110
- f['page'] = this.page;
111
- if (this.options.emitFields && this.fields.length) {
112
- f['fields'] = this.fields.join(',');
113
- }
114
- return f;
115
- }
116
- get(refresh = true, sync = false) {
117
- if (!refresh && !this._pristine) {
118
- // console.log('@solidev/data: Get not refreshing, return current result observable');
119
- return this.results;
120
- }
121
- // console.log('@solidev/data: start get (query)');
122
- this._loading.next(true);
123
- const syncQp = {};
124
- if (sync) {
125
- syncQp['db'] = 'sync';
126
- }
127
- return this._coll
128
- .raw({
129
- method: 'GET',
130
- params: {
131
- ...this.getQueryParams(),
132
- ...syncQp,
133
- },
134
- })
135
- .pipe(switchMap((result) => {
136
- // Process results
137
- // console.log('@solidev/data: have meta');
138
- this._meta.next({ nav: result.nav, parameters: result.parameters });
139
- const out = [];
140
- for (const r of result.results) {
141
- const m = this._coll.fromJson(r);
142
- out.push(m);
143
- }
144
- this._pristine = false;
145
- // console.log('@solidev/data: have loading');
146
- this._loading.next(false);
147
- // console.log('@solidev/data: have result');
148
- this._results.next(out);
149
- // console.log('@solidev/data: done get');
150
- return this.results;
151
- }));
152
- }
153
- }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2RhdGEtcXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGFBQWEsRUFBYyxhQUFhLEVBQUUsS0FBSyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQXlEM0MsTUFBTSxPQUFPLFFBQVE7SUE4Qm5CLFlBQXNCLEtBQW9CLEVBQUUsVUFBNEIsRUFBRTtRQUFwRCxVQUFLLEdBQUwsS0FBSyxDQUFlO1FBN0IxQywwQkFBMEI7UUFDbkIsZUFBVSxHQUFlLEVBQUUsQ0FBQztRQUNuQywwQkFBMEI7UUFDbkIsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUNqQyxxQkFBcUI7UUFDZCxXQUFNLEdBQWEsRUFBRSxDQUFDO1FBQzdCLHdCQUF3QjtRQUNqQixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ3RCLDBCQUEwQjtRQUNuQixTQUFJLEdBQUcsQ0FBQyxDQUFDO1FBR1IsYUFBUSxHQUFHLElBQUksYUFBYSxDQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ2pELHVEQUF1RDtRQUNoRCxZQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUNwRCxVQUFLLEdBQUcsSUFBSSxhQUFhLENBQWEsQ0FBQyxDQUFDLENBQUM7UUFDakQsbUNBQW1DO1FBQzVCLFNBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLGFBQVEsR0FBRyxJQUFJLGFBQWEsQ0FBTSxDQUFDLENBQUMsQ0FBQztRQUM3QyxtQ0FBbUM7UUFDNUIsWUFBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMs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TUFBTSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7WUFDcEUsTUFBTSxHQUFHLEdBQVEsRUFBRSxDQUFDO1lBQ3BCLEtBQUssTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUMvQixNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNkLENBQUM7WUFDRCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztZQUN2Qiw4Q0FBOEM7WUFDOUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDMUIsNkNBQTZDO1lBQzdDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3hCLDBDQUEwQztZQUMxQyxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDdEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNOLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuL2RhdGEtY29sbGVjdGlvbic7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgc2hhcmUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbHRlckRhdGEge1xuICBbaW5kZXg6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE91dEZpbHRlckRhdGEge1xuICBbaW5kZXg6IHN0cmluZ106IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgU29ydERhdGEgPSBzdHJpbmc7XG5cbi8qKlxuICogUXVlcnlzZXQgcGFyYW1ldGVyc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeXNldE9wdGlvbnMge1xuICAvKiogRW1pdCBmaWVsZHMgbGlzdCAqL1xuICBlbWl0RmllbGRzPzogYm9vbGVhbjtcbiAgLyoqIFF1ZXJ5c2V0IG5hbWUgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIFRPRE86IHNlZSB1c2FnZSAqL1xuICByb3V0ZT86IEFjdGl2YXRlZFJvdXRlO1xuICAvKiogVE9ETzogc2VlIHVzYWdlICovXG4gIHJvdXRlcj86IFJvdXRlcjtcbiAgLyoqIFRPRE86IHNlZSB1c2FnZSAqL1xuICBoYXNoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeU5hdiB7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZV9zaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1ZXJ5TWV0YU5hdiB7XG4gIGNvdW50OiBudW1iZXI7XG4gIG5leHQ6IG51bWJlciB8IG51bGw7XG4gIHBhZ2U6IG51bWJlcjtcbiAgcGFnZXM6IG51bWJlcjtcbiAgcHJldjogbnVtYmVyIHwgbnVsbDtcbiAgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeU1ldGFOYXZQYXJhbXMge1xuICBwYWdlOiBzdHJpbmc7XG4gIHBhZ2Vfc2l6ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElRdWVyeU1ldGEge1xuICBuYXY6IElRdWVyeU1ldGFOYXY7XG4gIHBhcmFtZXRlcnM6IElRdWVyeU1ldGFOYXZQYXJhbXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVF1ZXJ5RnVsbFJlc3BvbnNlPFQ+IGV4dGVuZHMgSVF1ZXJ5TWV0YSB7XG4gIHJlc3VsdHM6IFRbXTtcbn1cblxuZXhwb3J0IGNsYXNzIFF1ZXJ5c2V0PFQgZXh0ZW5kcyBEYXRhTW9kZWw+IHtcbiAgLyoqIEN1cnJlbnQgZmlsdGVyIGRhdGEgKi9cbiAgcHVibGljIGZpbHRlckRhdGE6IEZpbHRlckRhdGEgPSB7fTtcbiAgLyoqIEN1cnJlbnQgc29ydGVyIGRhdGEgKi9cbiAgcHVibGljIHNvcnREYXRhOiBTb3J0RGF0YVtdID0gW107XG4gIC8qKiBDdXJyZW50IGZpZWxkcyAqL1xuICBwdWJsaWMgZmllbGRzOiBzdHJpbmdbXSA9IFtdO1xuICAvKiogQ3VycmVudCBwYWdlIHNpemUgKi9cbiAgcHVibGljIHBhZ2VTaXplID0gNTAwO1xuICAvKiogQ3VycmVudCBwYWdlIG51bWJlciAqL1xuICBwdWJsaWMgcGFnZSA9IDE7XG5cbiAgcHVibGljIG9wdGlvbnM6IElRdWVyeXNldE9wdGlvbnM7XG4gIHByaXZhdGUgX2xvYWRpbmcgPSBuZXcgUmVwbGF5U3ViamVjdDxib29sZWFuPigxKTtcbiAgLyoqIExvYWRpbmcgc3RhdHVzICh0cnVlIGlmIGN1cnJlbnRseSBmZXRjaGluZyBkYXRhKSAqL1xuICBwdWJsaWMgbG9hZGluZyA9IHRoaXMuX2xvYWRpbmcuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZSgpKTtcbiAgcHJpdmF0ZSBfbWV0YSA9IG5ldyBSZXBsYXlTdWJqZWN0PElRdWVyeU1ldGE+KDEpO1xuICAvKiogUmVzdWx0cyBtZXRhIHBhcnQgb2JzZXJ2YWJsZSAqL1xuICBwdWJsaWMgbWV0YSA9IHRoaXMuX21ldGEuYXNPYnNlcnZhYmxlKCkucGlwZShzaGFyZSgpKTtcbiAgcHJpdmF0ZSBfcmVzdWx0cyA9IG5ldyBSZXBsYXlTdWJqZWN0PFRbXT4oMSk7XG4gIC8qKiBSZXN1bHRzIGRhdGEgcGFydCBvYnNlcnZhYmxlICovXG4gIHB1YmxpYyByZXN1bHRzID0gdGhpcy5fcmVzdWx0cy5hc09ic2VydmFibGUoKS5waXBlKHNoYXJlKCkpO1xuICBwcml2YXRlIF9mdWxsOiBPYnNlcnZhYmxlPFtUW10sIGJvb2xlYW4sIElRdWVyeU1ldGFdPiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgIHRoaXMucmVzdWx0cyxcbiAgICB0aGlzLmxvYWRpbmcsXG4gICAgdGhpcy5tZXRhLFxuICBdKTtcbiAgLyoqIEZ1bGwgcmVzdWx0cyBvYnNlcnZhYmxlIChyZXN1bHRzLCBsb2FkaW5nLCBtZXRhKSAqL1xuICBwdWJsaWMgZnVsbCA9IHRoaXMuX2Z1bGwucGlwZShzaGFyZSgpKTtcblxuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgX2NvbGw6IENvbGxlY3Rpb248VD4sIG9wdGlvbnM6IElRdWVyeXNldE9wdGlvbnMgPSB7fSkge1xuICAgIC8qKiBEZWZhdWx0IG9wdGlvbnMgKi9cbiAgICAvLyBjb25zb2xlLmxvZygnQHNvbGlkZXYvZGF0YTogQ3JlYXRpbmcgY29sbGVjdGlvbicsIF9jb2xsKTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGVtaXRGaWVsZHM6IHRydWUgfTtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMub3B0aW9ucywgb3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIF9wcmlzdGluZSA9IHRydWU7XG5cbiAgLyoqIFByaXN0aW5lIHN0YXR1cyAodHJ1ZSBpZiBpdCBoYXMgbm90IGNvbGxlY3RlZCByZXN1bHRzIHlldCkgKi9cbiAgcHVibGljIGdldCBwcmlzdGluZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fcHJpc3RpbmU7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGN1cnJlbnQgZmlsdGVyIGRhdGEuIE51bGwgb3IgdW5kZWZpbmVkIHZhbHVlcyBhcmUgcmVtb3ZlZCBmcm9tIGZpbHRlciBkYXRhLlxuICAgKiBAcGFyYW0gcGFyYW1zIGZpbHRlciBkYXRhXG4gICAqIEBwYXJhbSB1cGRhdGUgYm9vbGVhbiB0byB1cGRhdGUgZmlsdGVyIGRhdGEgaW5zdGVhZCBvZiByZWNyZWF0aW5nIGl0IGZyb20gc2NyYXRjaFxuICAgKi9cbiAgcHVibGljIGZpbHRlcihwYXJhbXM6IEZpbHRlckRhdGEgPSB7fSwgdXBkYXRlOiBib29sZWFuID0gZmFsc2UpOiBRdWVyeXNldDxUPiB7XG4gICAgaWYgKCF1cGRhdGUpIHtcbiAgICAgIHRoaXMuZmlsdGVyRGF0YSA9IHt9O1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGsgb2YgT2JqZWN0LmtleXMocGFyYW1zKSkge1xuICAgICAgaWYgKHBhcmFtc1trXSA9PT0gdW5kZWZpbmVkIHx8IHBhcmFtc1trXSA9PT0gbnVsbCkge1xuICAgICAgICBkZWxldGUgdGhpcy5maWx0ZXJEYXRhW2tdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maWx0ZXJEYXRhW2tdID0gcGFyYW1zW2tdO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgc29ydGluZyBwYXJhbWV0ZXJzLCBsaXN0IG9mIHN0cmluZ3MgZ2l2aW5nIHNvcnQgcGFyYW1ldGVycyBlLmcuIHNvcnQoXCIrbmFtZVwiLCBcIi1pZFwiKS5cbiAgICogQHBhcmFtIHNvcnRpbmcgc3RyaW5ncyBvZiBzb3J0IHBhcmFtZXRlcnNcbiAgICovXG4gIHB1YmxpYyBzb3J0KC4uLnNvcnRpbmc6IHN0cmluZ1tdKTogUXVlcnlzZXQ8VD4ge1xuICAgIHRoaXMuc29ydERhdGEgPSBzb3J0aW5nO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSBwYWdlIHNpemUuXG4gICAqIEBwYXJhbSBwYWdlU2l6ZSByZXF1aXJlZCBwYWdlIHNpemVcbiAgICovXG4gIHB1YmxpYyBwYWdpbmF0ZUJ5KHBhZ2VTaXplOiBudW1iZXIgPSAyMCk6IFF1ZXJ5c2V0PFQ+IHtcbiAgICB0aGlzLnBhZ2VTaXplID0gcGFnZVNpemU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlIGN1cnJlbnQgcGFnZSBudW1iZXIuXG4gICAqIEBwYXJhbSBwYWdlIHJlcXVpcmVkIHBxZ2VcbiAgICogQHBhcmFtIGZyYWdtZW50IFRPRE86IGZyYWdtZW50IHVzYWdlIGZvciByb3V0ZXIgdXNhZ2VcbiAgICovXG4gIHB1YmxpYyBzZXRQYWdlKHBhZ2U6IG51bWJlciA9IDEsIGZyYWdtZW50Pzogc3RyaW5nKTogUXVlcnlzZXQ8VD4ge1xuICAgIGlmIChwYWdlICE9PSB0aGlzLnBhZ2UpIHtcbiAgICAgIHRoaXMucGFnZSA9IHBhZ2U7XG4gICAgICAvLyBpZiAodGhpcy5vcHRpb25zLnJvdXRlcikge1xuICAgICAgLy8gICAvLyBUT0RPOiBjaGVjayBhbmQgZml4IHVzYWdlIG9mIGZyYWdtZW50L3F1ZXJ5IHBhcmFtc1xuICAgICAgLy8gICBjb25zdCBmcmFnID0gZnJhZ21lbnRcbiAgICAgIC8vICAgICA/IGZyYWdtZW50XG4gICAgICAvLyAgICAgOiB0aGlzLm9wdGlvbnMuaGFzaCB8fCB0aGlzLm9wdGlvbnMubmFtZTtcbiAgICAgIC8vICAgY29uc3QgXyA9IHRoaXMub3B0aW9ucy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcbiAgICAgIC8vICAgICBxdWVyeVBhcmFtczogeyBwYWdlOiBwYWdlLnRvU3RyaW5nKCkgfSxcbiAgICAgIC8vICAgICBmcmFnbWVudDogZnJhZyxcbiAgICAgIC8vICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiAnbWVyZ2UnLFxuICAgICAgLy8gICB9KTtcbiAgICAgIC8vIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc2V0RmllbGRzKGZpZWxkczogc3RyaW5nW10pOiBRdWVyeXNldDxUPiB7XG4gICAgdGhpcy5maWVsZHMgPSBmaWVsZHM7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0UXVlcnlQYXJhbXMoKTogT3V0RmlsdGVyRGF0YSB7XG4gICAgY29uc3QgZjogRmlsdGVyRGF0YSA9IHt9O1xuICAgIE9iamVjdC5hc3NpZ24oZiwgdGhpcy5maWx0ZXJEYXRhKTtcbiAgICBpZiAodGhpcy5zb3J0RGF0YS5sZW5ndGgpIHtcbiAgICAgIGZbJ29yZGVyaW5nJ10gPSB0aGlzLnNvcnREYXRhLmpvaW4oJywnKTtcbiAgICB9XG4gICAgZlsncGFnZV9zaXplJ10gPSB0aGlzLnBhZ2VTaXplO1xuICAgIGZbJ3BhZ2UnXSA9IHRoaXMucGFnZTtcbiAgICBpZiAodGhpcy5vcHRpb25zLmVtaXRGaWVsZHMgJiYgdGhpcy5maWVsZHMubGVuZ3RoKSB7XG4gICAgICBmWydmaWVsZHMnXSA9IHRoaXMuZmllbGRzLmpvaW4oJywnKTtcbiAgICB9XG4gICAgcmV0dXJuIGYgYXMgT3V0RmlsdGVyRGF0YTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQocmVmcmVzaDogYm9vbGVhbiA9IHRydWUsIHN5bmM6IGJvb2xlYW4gPSBmYWxzZSk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgaWYgKCFyZWZyZXNoICYmICF0aGlzLl9wcmlzdGluZSkge1xuICAgICAgLy8gY29uc29sZS5sb2coJ0Bzb2xpZGV2L2RhdGE6IEdldCBub3QgcmVmcmVzaGluZywgcmV0dXJuIGN1cnJlbnQgcmVzdWx0IG9ic2VydmFibGUnKTtcbiAgICAgIHJldHVybiB0aGlzLnJlc3VsdHM7XG4gICAgfVxuICAgIC8vIGNvbnNvbGUubG9nKCdAc29saWRldi9kYXRhOiBzdGFydCBnZXQgKHF1ZXJ5KScpO1xuICAgIHRoaXMuX2xvYWRpbmcubmV4dCh0cnVlKTtcbiAgICBjb25zdCBzeW5jUXA6IHsgW2luZGV4OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICAgIGlmIChzeW5jKSB7XG4gICAgICBzeW5jUXBbJ2RiJ10gPSAnc3luYyc7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jb2xsXG4gICAgICAucmF3PElRdWVyeUZ1bGxSZXNwb25zZTxUPj4oe1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAuLi50aGlzLmdldFF1ZXJ5UGFyYW1zKCksXG4gICAgICAgICAgLi4uc3luY1FwLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIC5waXBlKFxuICAgICAgICBzd2l0Y2hNYXAoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIC8vIFByb2Nlc3MgcmVzdWx0c1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdAc29saWRldi9kYXRhOiBoYXZlIG1ldGEnKTtcbiAgICAgICAgICB0aGlzLl9tZXRhLm5leHQoeyBuYXY6IHJlc3VsdC5uYXYsIHBhcmFtZXRlcnM6IHJlc3VsdC5wYXJhbWV0ZXJzIH0pO1xuICAgICAgICAgIGNvbnN0IG91dDogVFtdID0gW107XG4gICAgICAgICAgZm9yIChjb25zdCByIG9mIHJlc3VsdC5yZXN1bHRzKSB7XG4gICAgICAgICAgICBjb25zdCBtID0gdGhpcy5fY29sbC5mcm9tSnNvbihyKTtcbiAgICAgICAgICAgIG91dC5wdXNoKG0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLl9wcmlzdGluZSA9IGZhbHNlO1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdAc29saWRldi9kYXRhOiBoYXZlIGxvYWRpbmcnKTtcbiAgICAgICAgICB0aGlzLl9sb2FkaW5nLm5leHQoZmFsc2UpO1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdAc29saWRldi9kYXRhOiBoYXZlIHJlc3VsdCcpO1xuICAgICAgICAgIHRoaXMuX3Jlc3VsdHMubmV4dChvdXQpO1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdAc29saWRldi9kYXRhOiBkb25lIGdldCcpO1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlc3VsdHM7XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG59XG4iXX0=
@@ -1,46 +0,0 @@
1
- import { combineLatest, of } from "rxjs";
2
- export class QuerysetMock {
3
- // eslint-disable-next-line @typescript-eslint/naming-convention
4
- constructor(_coll, options = {}) {
5
- this._coll = _coll;
6
- this.options = options;
7
- this.mockData = [];
8
- this.filterData = {};
9
- this.sortData = [];
10
- this.pageSize = 100;
11
- this.page = 1;
12
- this.pristine = true;
13
- this.loading = of(false);
14
- }
15
- get results() {
16
- return of(this.mockData || this._coll.mockValues);
17
- }
18
- get meta() {
19
- return of({
20
- nav: { count: 100, next: 1, page: 1, pages: 10, prev: null, size: 10 },
21
- parameters: { page: "page", page_size: "page_size" }
22
- });
23
- }
24
- get full() {
25
- return combineLatest([this.results, this.loading, this.meta]);
26
- }
27
- filter(params = {}) {
28
- return this;
29
- }
30
- sort(...sorting) {
31
- return this;
32
- }
33
- paginateBy(pageSize = 20) {
34
- return this;
35
- }
36
- setPage(page) {
37
- return this;
38
- }
39
- getQueryParams() {
40
- return {};
41
- }
42
- get() {
43
- return of(this.mockData || this._coll.mockValues);
44
- }
45
- }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1xdWVyeS5tb2NrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL2RhdGEvZGF0YS1xdWVyeS5tb2NrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBQyxhQUFhLEVBQWMsRUFBRSxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBRW5ELE1BQU0sT0FBTyxZQUFZO0lBV3pCLGdFQUFnRTtJQUM5RCxZQUFzQixLQUF3QixFQUFTLFVBQTRCLEVBQUU7UUFBL0QsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBUyxZQUFPLEdBQVAsT0FBTyxDQUF1QjtRQVg5RSxhQUFRLEdBQVEsRUFBRSxDQUFDO1FBRW5CLGVBQVUsR0FBZSxFQUFFLENBQUM7UUFDNUIsYUFBUSxHQUFlLEVBQUUsQ0FBQztRQUMxQixhQUFRLEdBQUcsR0FBRyxDQUFDO1FBQ2YsU0FBSSxHQUFHLENBQUMsQ0FBQztRQUVULGFBQVEsR0FBRyxJQUFJLENBQUM7UUFDaEIsWUFBTyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUszQixDQUFDO0lBRUQsSUFBVyxPQUFPO1FBQ2hCLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsSUFBVyxJQUFJO1FBQ2IsT0FBTyxFQUFFLENBQUM7WUFDUixHQUFHLEVBQUUsRUFBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBQztZQUNwRSxVQUFVLEVBQUUsRUFBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUM7U0FDbkQsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQVcsSUFBSTtRQUNiLE9BQU8sYUFBYSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFTSxNQUFNLENBQUMsU0FBcUIsRUFBRTtRQUNuQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxJQUFJLENBQUMsR0FBRyxPQUFpQjtRQUM5QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxVQUFVLENBQUMsV0FBbUIsRUFBRTtRQUNyQyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBWTtRQUN6QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFTSxjQUFjO1FBQ25CLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVNLEdBQUc7UUFDUixPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEYXRhTW9kZWx9IGZyb20gXCIuL2RhdGEtbW9kZWxcIjtcbmltcG9ydCB7Q29sbGVjdGlvbk1vY2t9IGZyb20gXCIuL2RhdGEtY29sbGVjdGlvbi5tb2NrXCI7XG5pbXBvcnQge0ZpbHRlckRhdGEsIElRdWVyeU1ldGEsIElRdWVyeXNldE9wdGlvbnMsIFNvcnREYXRhfSBmcm9tIFwiLi9kYXRhLXF1ZXJ5XCI7XG5pbXBvcnQge2NvbWJpbmVMYXRlc3QsIE9ic2VydmFibGUsIG9mfSBmcm9tIFwicnhqc1wiO1xuXG5leHBvcnQgY2xhc3MgUXVlcnlzZXRNb2NrPFQgZXh0ZW5kcyBEYXRhTW9kZWw+IHtcbiAgcHVibGljIG1vY2tEYXRhOiBUW10gPSBbXTtcblxuICBwdWJsaWMgZmlsdGVyRGF0YTogRmlsdGVyRGF0YSA9IHt9O1xuICBwdWJsaWMgc29ydERhdGE6IFNvcnREYXRhW10gPSBbXTtcbiAgcHVibGljIHBhZ2VTaXplID0gMTAwO1xuICBwdWJsaWMgcGFnZSA9IDE7XG5cbiAgcHVibGljIHByaXN0aW5lID0gdHJ1ZTtcbiAgcHVibGljIGxvYWRpbmcgPSBvZihmYWxzZSk7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIF9jb2xsOiBDb2xsZWN0aW9uTW9jazxUPiwgcHVibGljIG9wdGlvbnM6IElRdWVyeXNldE9wdGlvbnMgPSB7fSkge1xuXG4gIH1cblxuICBwdWJsaWMgZ2V0IHJlc3VsdHMoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gb2YodGhpcy5tb2NrRGF0YSB8fCB0aGlzLl9jb2xsLm1vY2tWYWx1ZXMpO1xuICB9XG5cbiAgcHVibGljIGdldCBtZXRhKCk6IE9ic2VydmFibGU8SVF1ZXJ5TWV0YT4ge1xuICAgIHJldHVybiBvZih7XG4gICAgICBuYXY6IHtjb3VudDogMTAwLCBuZXh0OiAxLCBwYWdlOiAxLCBwYWdlczogMTAsIHByZXY6IG51bGwsIHNpemU6IDEwfSxcbiAgICAgIHBhcmFtZXRlcnM6IHtwYWdlOiBcInBhZ2VcIiwgcGFnZV9zaXplOiBcInBhZ2Vfc2l6ZVwifVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBmdWxsKCk6IE9ic2VydmFibGU8W1RbXSwgYm9vbGVhbiwgSVF1ZXJ5TWV0YV0+IHtcbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5yZXN1bHRzLCB0aGlzLmxvYWRpbmcsIHRoaXMubWV0YV0pO1xuICB9XG5cbiAgcHVibGljIGZpbHRlcihwYXJhbXM6IEZpbHRlckRhdGEgPSB7fSk6IFF1ZXJ5c2V0TW9jazxUPiB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgc29ydCguLi5zb3J0aW5nOiBzdHJpbmdbXSk6IFF1ZXJ5c2V0TW9jazxUPiB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgcGFnaW5hdGVCeShwYWdlU2l6ZTogbnVtYmVyID0gMjApOiBRdWVyeXNldE1vY2s8VD4ge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcHVibGljIHNldFBhZ2UocGFnZTogbnVtYmVyKTogUXVlcnlzZXRNb2NrPFQ+IHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRRdWVyeVBhcmFtcygpOiBGaWx0ZXJEYXRhIHtcbiAgICByZXR1cm4ge307XG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMubW9ja0RhdGEgfHwgdGhpcy5fY29sbC5tb2NrVmFsdWVzKTtcbiAgfVxufVxuIl19
@@ -1,144 +0,0 @@
1
- import 'reflect-metadata';
2
- import { FormControl, Validators } from '@angular/forms';
3
- export const PROPERTY_METADATA_KEY = Symbol('ngxDataMetadata');
4
- /**
5
- * Base field manager, stores metadata and provides common field utilities
6
- *
7
- * - name : field name, should be the same in data structure and model
8
- * - help : field help text, blank by default
9
- * - description : field name for humans
10
- * - readonly : field is readonly (cannot be changed / pushed to api)
11
- * - default : default value for field
12
- *
13
- * - editor_type : editor type
14
- * - display_type : display type
15
- *
16
- * - fromJson(data) : deserializer
17
- * - toJson(data) : serialiser
18
- * - toString(data,format) : to string, for display
19
- *
20
- * - formControl : returns field form control
21
- * - validators : returns field validator
22
- */
23
- export class BaseFieldManager {
24
- constructor(params) {
25
- this.required = false;
26
- this.readonly = false;
27
- this.computed = false;
28
- this.priority = 0;
29
- this.editorType = 'input.text';
30
- this.displayType = 'text';
31
- Object.assign(this, params);
32
- if (!this.name) {
33
- this.name = 'noname';
34
- }
35
- if (!this.description) {
36
- this.description = this.name;
37
- }
38
- if (!this.help) {
39
- this.help = '';
40
- }
41
- this.getDefaultValue();
42
- }
43
- /** Return field validators */
44
- get validators() {
45
- return this.getValidators();
46
- }
47
- /** Returns current field name */
48
- get fname() {
49
- return this.name.split('__')[1] || this.name;
50
- }
51
- /** Create a new typed formControl for this field. */
52
- formControl(instance) {
53
- return new FormControl(instance[this.fname] || this.getDefaultValue(), this.validators);
54
- }
55
- /** JSON deserializer base method. */
56
- fromJson(data) {
57
- return data;
58
- }
59
- /** JSON serializer base method. */
60
- toJson(data) {
61
- return data;
62
- }
63
- /**
64
- * Display value (as string)
65
- * @param data
66
- * @param format (not used)
67
- */
68
- toString(data, format = 'default') {
69
- return `${data}`;
70
- }
71
- /**
72
- * Returns default value for model, using args if needed.
73
- * @param args
74
- */
75
- default(args = {}) {
76
- return this.getDefaultValue(args);
77
- }
78
- /** Return validators
79
- *
80
- * @protected
81
- */
82
- getValidators() {
83
- const v = [];
84
- if (this.required) {
85
- v.push(Validators.required);
86
- }
87
- return v;
88
- }
89
- /**
90
- * Returns default value for model, using args if needed.
91
- * @param args
92
- * @protected
93
- */
94
- getDefaultValue(args = {}) {
95
- if (this.defaultValue instanceof Function) {
96
- return this.defaultValue(args);
97
- }
98
- if (this.required && this.defaultValue === undefined) {
99
- throw new Error(`Field ${this.name} : no default value for required field`);
100
- }
101
- return this.defaultValue;
102
- }
103
- }
104
- /** Util to get own object keys */
105
- const ownKeys = (target) => Object.getOwnPropertyNames(target).concat(Object.getOwnPropertySymbols(target));
106
- /**
107
- * Creates a field decorator that can only be applied within
108
- * an object containing a static __name property.
109
- *
110
- *
111
- * @param meta field metadata
112
- * @param type field type code
113
- * @param manager field manager
114
- */
115
- export function genericDataField(meta, type, manager) {
116
- return (target, propertyKey) => {
117
- const allMetadata = Reflect.getMetadata(PROPERTY_METADATA_KEY, target) ||
118
- new Map();
119
- let cname = `${target.constructor.__name}`;
120
- if ((cname === `undefined` || cname === '') && type !== 'primaryField') {
121
- throw Error(`Decorator ${type} allowed only on classes with static __name field : "${cname}" found for - ${target}`);
122
- }
123
- const pk = `${cname}__${String(propertyKey)}`;
124
- let cm = allMetadata.get(pk);
125
- /* istanbul ignore if */
126
- if (cm) {
127
- // This should never occur as metadata is object bound and property names must be unique
128
- throw Error(`Field ${pk} already defined = ${cm}`);
129
- }
130
- cm = {};
131
- for (const key of ownKeys(meta)) {
132
- cm[key] = meta[key];
133
- }
134
- if (meta.name === undefined) {
135
- cm.name = `${String(propertyKey)}`;
136
- }
137
- cm.type = type;
138
- cm.self = pk;
139
- cm.manager = new manager(cm);
140
- allMetadata.set(pk, cm);
141
- Reflect.defineMetadata(PROPERTY_METADATA_KEY, allMetadata, target);
142
- };
143
- }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2ZpZWxkcy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sa0JBQWtCLENBQUM7QUFDMUIsT0FBTyxFQUFFLFdBQVcsRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU90RSxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztBQXVCL0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtCRztBQUNILE1BQU0sT0FBTyxnQkFBZ0I7SUFlM0IsWUFBWSxNQUEwQjtRQVQvQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDakIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsQ0FBQyxDQUFDO1FBR2IsZUFBVSxHQUEwQixZQUFZLENBQUM7UUFDakQsZ0JBQVcsR0FBMkIsTUFBTSxDQUFDO1FBR2xELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLFFBQVEsQ0FBQztRQUN2QixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDL0IsQ0FBQztRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNqQixDQUFDO1FBQ0QsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCw4QkFBOEI7SUFDOUIsSUFBVyxVQUFVO1FBQ25C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QztRQUM5QyxJQUFJLEVBQUUsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzdCLHdCQUF3QjtRQUN4QixJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ1Asd0ZBQXdGO1lBQ3hGLE1BQU0sS0FBSyxDQUFDLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNyRCxDQUFDO1FBQ0QsRUFBRSxHQUFHLEVBQStCLENBQUM7UUFDckMsS0FBSyxNQUFNLEdBQUcsSUFBSSxPQUFPLENBQUMsSUFBVyxDQUFDLEVBQUUsQ0FBQztZQUN0QyxFQUFVLENBQUMsR0FBRyxDQUFDLEdBQUksSUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDNUIsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQ3JDLENBQUM7UUFDRCxFQUFFLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNmLEVBQUUsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ2IsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUM3QixXQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUN4QixPQUFPLENBQUMsY0FBYyxDQUFDLHFCQUFxQixFQUFFLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICdyZWZsZWN0LW1ldGFkYXRhJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHtcbiAgRElTUEVESVRfRElTUExBWV9UWVBFUyxcbiAgRElTUEVESVRfRURJVE9SX1RZUEVTLFxufSBmcm9tICcuLi8uLi9kaXNwZWRpdC9kaXNwZWRpdC9kaXNwZWRpdC5jb25zdGFudHMnO1xuXG5leHBvcnQgY29uc3QgUFJPUEVSVFlfTUVUQURBVEFfS0VZID0gU3ltYm9sKCduZ3hEYXRhTWV0YWRhdGEnKTtcblxuLyoqXG4gKiBEZXNjcmlwdGl2ZSBpbmZvIGZvciBhbGwgZmllbGRzLlxuICogQWxsIGFyZSBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmllbGRNZXRhZGF0YTxGVD4ge1xuICAvKiogRmllbGQgbmFtZSAoZm9yIGRpc3BsYXksIGNvbHVtbiB0aXRsZSwgZXRjLi4pICovXG4gIG5hbWU/OiBzdHJpbmc7XG4gIC8qKiBGaWVsZCBoZWxwIHRleHQgKGZvciBpbnB1dCkgKi9cbiAgaGVscD86IHN0cmluZztcbiAgLyoqIEZpZWxkIGRlc2NyaXB0aW9uIChmb3IgZGV0YWlscyBvbiBob3ZlciBldGMuLikgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIC8qKiBGaWVsZCByZXF1aXJlZCA6IG5vIHVuZGVmaW5lZCBhbGxvd2VkIG9uIHNhdmUgPyAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIC8qKiBGaWVsZCBjYW5ub3QgYmUgdXBkYXRlZCAqL1xuICByZWFkb25seT86IGJvb2xlYW47XG4gIC8qKiBEZWZhdWx0IHZhbHVlICovXG4gIGRlZmF1bHRWYWx1ZT86IEZUIHwgKChhcmdzOiBhbnkpID0+IEZUKSB8IG51bGw7XG4gIC8qKiBQcmlvcml0eSA6IGZpcnN0IGZpZWxkcyA9IGhpZ2hlciBwcmlvcml0eSAqL1xuICBwcmlvcml0eT86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBCYXNlIGZpZWxkIG1hbmFnZXIsIHN0b3JlcyBtZXRhZGF0YSBhbmQgcHJvdmlkZXMgY29tbW9uIGZpZWxkIHV0aWxpdGllc1xuICpcbiAqIC0gbmFtZSA6IGZpZWxkIG5hbWUsIHNob3VsZCBiZSB0aGUgc2FtZSBpbiBkYXRhIHN0cnVjdHVyZSBhbmQgbW9kZWxcbiAqIC0gaGVscCA6IGZpZWxkIGhlbHAgdGV4dCwgYmxhbmsgYnkgZGVmYXVsdFxuICogLSBkZXNjcmlwdGlvbiA6IGZpZWxkIG5hbWUgZm9yIGh1bWFuc1xuICogLSByZWFkb25seSA6IGZpZWxkIGlzIHJlYWRvbmx5IChjYW5ub3QgYmUgY2hhbmdlZCAvIHB1c2hlZCB0byBhcGkpXG4gKiAtIGRlZmF1bHQgOiBkZWZhdWx0IHZhbHVlIGZvciBmaWVsZFxuICpcbiAqIC0gZWRpdG9yX3R5cGUgOiBlZGl0b3IgdHlwZVxuICogLSBkaXNwbGF5X3R5cGUgOiBkaXNwbGF5IHR5cGVcbiAqXG4gKiAtIGZyb21Kc29uKGRhdGEpIDogZGVzZXJpYWxpemVyXG4gKiAtIHRvSnNvbihkYXRhKSA6IHNlcmlhbGlzZXJcbiAqIC0gdG9TdHJpbmcoZGF0YSxmb3JtYXQpIDogdG8gc3RyaW5nLCBmb3IgZGlzcGxheVxuICpcbiAqIC0gZm9ybUNvbnRyb2wgOiByZXR1cm5zIGZpZWxkIGZvcm0gY29udHJvbFxuICogLSB2YWxpZGF0b3JzIDogcmV0dXJucyBmaWVsZCB2YWxpZGF0b3JcbiAqL1xuZXhwb3J0IGNsYXNzIEJhc2VGaWVsZE1hbmFnZXI8RlQ+IGltcGxlbWVudHMgSUZpZWxkTWV0YWRhdGE8RlQ+IHtcbiAgLyoqIE5hbWUgaXMgbWFuZGF0b3J5IGluIGEgZmllbGQgbWFuYWdlci4gSXQgaXMgZ2l2ZW4gYnlcbiAgICogZmllbGQgZGVjb3JhdG9yIGlmIG5vdCBkaXJlY3RseSBnaXZlbiBpbiBmaWVsZCBtYW5hZ2VyLiAqL1xuICBwdWJsaWMgbmFtZSE6IHN0cmluZztcbiAgcHVibGljIGRlc2NyaXB0aW9uITogc3RyaW5nO1xuICBwdWJsaWMgaGVscCE6IHN0cmluZztcbiAgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XG4gIHB1YmxpYyByZWFkb25seSA9IGZhbHNlO1xuICBwdWJsaWMgY29tcHV0ZWQgPSBmYWxzZTtcbiAgcHVibGljIHByaW9yaXR5ID0gMDtcbiAgcHVibGljIGRlZmF1bHRWYWx1ZT86IEZUIHwgKChhcmdzOiBhbnkpID0+IEZUKTtcblxuICBwdWJsaWMgZWRpdG9yVHlwZTogRElTUEVESVRfRURJVE9SX1RZUEVTID0gJ2lucHV0LnRleHQnO1xuICBwdWJsaWMgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAndGV4dCc7XG5cbiAgY29uc3RydWN0b3IocGFyYW1zOiBJRmllbGRNZXRhZGF0YTxGVD4pIHtcbiAgICBPYmplY3QuYXNzaWduKHRoaXMsIHBhcmFtcyk7XG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcbiAgICAgIHRoaXMubmFtZSA9ICdub25hbWUnO1xuICAgIH1cbiAgICBpZiAoIXRoaXMuZGVzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSB0aGlzLm5hbWU7XG4gICAgfVxuICAgIGlmICghdGhpcy5oZWxwKSB7XG4gICAgICB0aGlzLmhlbHAgPSAnJztcbiAgICB9XG4gICAgdGhpcy5nZXREZWZhdWx0VmFsdWUoKTtcbiAgfVxuXG4gIC8qKiBSZXR1cm4gZmllbGQgdmFsaWRhdG9ycyAqL1xuICBwdWJsaWMgZ2V0IHZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWRhdG9ycygpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgY3VycmVudCBmaWVsZCBuYW1lICovXG4gIHB1YmxpYyBnZXQgZm5hbWUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5uYW1lLnNwbGl0KCdfXycpWzFdIHx8IHRoaXMubmFtZTtcbiAgfVxuXG4gIC8qKiBDcmVhdGUgYSBuZXcgdHlwZWQgZm9ybUNvbnRyb2wgZm9yIHRoaXMgZmllbGQuICovXG4gIHB1YmxpYyBmb3JtQ29udHJvbChpbnN0YW5jZTogRGF0YU1vZGVsKTogRm9ybUNvbnRyb2w8RlQgfCBudWxsPiB7XG4gICAgcmV0dXJuIG5ldyBGb3JtQ29udHJvbDxGVD4oXG4gICAgICAoKGluc3RhbmNlIGFzIGFueSlbdGhpcy5mbmFtZV0gYXMgRlQpIHx8ICh0aGlzLmdldERlZmF1bHRWYWx1ZSgpIGFzIEZUKSxcbiAgICAgIHRoaXMudmFsaWRhdG9yc1xuICAgICk7XG4gIH1cblxuICAvKiogSlNPTiBkZXNlcmlhbGl6ZXIgYmFzZSBtZXRob2QuICovXG4gIHB1YmxpYyBmcm9tSnNvbihkYXRhOiBhbnkpOiBGVCB7XG4gICAgcmV0dXJuIGRhdGEgYXMgRlQ7XG4gIH1cblxuICAvKiogSlNPTiBzZXJpYWxpemVyIGJhc2UgbWV0aG9kLiAqL1xuICBwdWJsaWMgdG9Kc29uKGRhdGE6IEZUKTogYW55IHtcbiAgICByZXR1cm4gZGF0YSBhcyBhbnk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheSB2YWx1ZSAoYXMgc3RyaW5nKVxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcGFyYW0gZm9ybWF0IChub3QgdXNlZClcbiAgICovXG4gIHB1YmxpYyB0b1N0cmluZyhkYXRhOiBGVCwgZm9ybWF0OiBzdHJpbmcgPSAnZGVmYXVsdCcpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHtkYXRhfWA7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBkZWZhdWx0IHZhbHVlIGZvciBtb2RlbCwgdXNpbmcgYXJncyBpZiBuZWVkZWQuXG4gICAqIEBwYXJhbSBhcmdzXG4gICAqL1xuICBwdWJsaWMgZGVmYXVsdChhcmdzOiBhbnkgPSB7fSk6IEZUIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5nZXREZWZhdWx0VmFsdWUoYXJncyk7XG4gIH1cblxuICAvKiogUmV0dXJuIHZhbGlkYXRvcnNcbiAgICpcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldFZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdjogVmFsaWRhdG9yRm5bXSA9IFtdO1xuICAgIGlmICh0aGlzLnJlcXVpcmVkKSB7XG4gICAgICB2LnB1c2goVmFsaWRhdG9ycy5yZXF1aXJlZCk7XG4gICAgfVxuICAgIHJldHVybiB2O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgZGVmYXVsdCB2YWx1ZSBmb3IgbW9kZWwsIHVzaW5nIGFyZ3MgaWYgbmVlZGVkLlxuICAgKiBAcGFyYW0gYXJnc1xuICAgKiBAcHJvdGVjdGVkXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdFZhbHVlKGFyZ3M6IGFueSA9IHt9KTogRlQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmRlZmF1bHRWYWx1ZSBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZhdWx0VmFsdWUoYXJncyk7XG4gICAgfVxuICAgIGlmICh0aGlzLnJlcXVpcmVkICYmIHRoaXMuZGVmYXVsdFZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEZpZWxkICR7dGhpcy5uYW1lfSA6IG5vIGRlZmF1bHQgdmFsdWUgZm9yIHJlcXVpcmVkIGZpZWxkYFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogRmllbGQgZGF0YSBzdG9yZWQgb24gcmVmbGVjdGVkIG1ldGFkYXRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZFN0b3JlZE1ldGFkYXRhPEZUPiBleHRlbmRzIElGaWVsZE1ldGFkYXRhPEZUPiB7XG4gIHNlbGY6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIG1hbmFnZXI6IEJhc2VGaWVsZE1hbmFnZXI8RlQ+O1xufVxuXG4vKiogVXRpbCB0byBnZXQgb3duIG9iamVjdCBrZXlzICovXG5jb25zdCBvd25LZXlzID0gKHRhcmdldDogYW55KTogYW55ID0+XG4gIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRhcmdldCkuY29uY2F0KFxuICAgIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModGFyZ2V0KSBhcyBhbnlcbiAgKTtcblxuLyoqIE1hbmFnZXIgY29uc3RydWN0b3JcbiAqICBGVCBpcyBqcyBmaWVsZCB0eXBlO1xuICogIFQgaXMgbWFuYWdlciB0eXBlXG4gKiAqL1xudHlwZSBCYXNlRmllbGRNYW5hZ2VyQ29uc3RydWN0b3I8RlQsIFQgZXh0ZW5kcyBCYXNlRmllbGRNYW5hZ2VyPEZUPj4gPSBuZXcgKFxuICBwYXJhbXM6IGFueVxuKSA9PiBUO1xuXG4vKipcbiAqIEZpZWxkIGRlY29yYXRvciBmdW5jdGlvblxuICovXG5leHBvcnQgdHlwZSBGaWVsZERlY29yYXRvckZuID0gKFxuICB0YXJnZXQ6IGFueSxcbiAgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBmaWVsZCBkZWNvcmF0b3IgdGhhdCBjYW4gb25seSBiZSBhcHBsaWVkIHdpdGhpblxuICogYW4gb2JqZWN0IGNvbnRhaW5pbmcgYSBzdGF0aWMgX19uYW1lIHByb3BlcnR5LlxuICpcbiAqXG4gKiBAcGFyYW0gbWV0YSBmaWVsZCBtZXRhZGF0YVxuICogQHBhcmFtIHR5cGUgZmllbGQgdHlwZSBjb2RlXG4gKiBAcGFyYW0gbWFuYWdlciBmaWVsZCBtYW5hZ2VyXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZW5lcmljRGF0YUZpZWxkPFxuICBGVCxcbiAgTUQgZXh0ZW5kcyBJRmllbGRNZXRhZGF0YTxGVD4sXG4gIE1HIGV4dGVuZHMgQmFzZUZpZWxkTWFuYWdlcjxGVD5cbj4oXG4gIG1ldGE6IE1ELFxuICB0eXBlOiBzdHJpbmcsXG4gIG1hbmFnZXI6IEJhc2VGaWVsZE1hbmFnZXJDb25zdHJ1Y3RvcjxGVCwgTUc+XG4pOiBGaWVsZERlY29yYXRvckZuIHtcbiAgcmV0dXJuICh0YXJnZXQ6IERhdGFNb2RlbCwgcHJvcGVydHlLZXk6IHN0cmluZyB8IHN5bWJvbCkgPT4ge1xuICAgIGNvbnN0IGFsbE1ldGFkYXRhOiBNYXA8XG4gICAgICBzdHJpbmcsXG4gICAgICBJRmllbGRTdG9yZWRNZXRhZGF0YTxhbnk+XG4gICAgPiA9IFJlZmxlY3QuZ2V0TWV0YWRhdGEoUFJPUEVSVFlfTUVUQURBVEFfS0VZLCB0YXJnZXQpIHx8XG4gICAgbmV3IE1hcDxzdHJpbmcsIElGaWVsZFN0b3JlZE1ldGFkYXRhPGFueT4+KCk7XG4gICAgbGV0IGNuYW1lOiBzdHJpbmcgPSBgJHsodGFyZ2V0LmNvbnN0cnVjdG9yIGFzIGFueSkuX19uYW1lfWA7XG4gICAgaWYgKChjbmFtZSA9PT0gYHVuZGVmaW5lZGAgfHwgY25hbWUgPT09ICcnKSAmJiB0eXBlICE9PSAncHJpbWFyeUZpZWxkJykge1xuICAgICAgdGhyb3cgRXJyb3IoXG4gICAgICAgIGBEZWNvcmF0b3IgJHt0eXBlfSBhbGxvd2VkIG9ubHkgb24gY2xhc3NlcyB3aXRoIHN0YXRpYyBfX25hbWUgZmllbGQgOiBcIiR7Y25hbWV9XCIgZm91bmQgZm9yIC0gJHt0YXJnZXR9YFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgcGsgPSBgJHtjbmFtZX1fXyR7U3RyaW5nKHByb3BlcnR5S2V5KX1gO1xuICAgIGxldCBjbSA9IGFsbE1ldGFkYXRhLmdldChwayk7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKGNtKSB7XG4gICAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBvY2N1ciBhcyBtZXRhZGF0YSBpcyBvYmplY3QgYm91bmQgYW5kIHByb3BlcnR5IG5hbWVzIG11c3QgYmUgdW5pcXVlXG4gICAgICB0aHJvdyBFcnJvcihgRmllbGQgJHtwa30gYWxyZWFkeSBkZWZpbmVkID0gJHtjbX1gKTtcbiAgICB9XG4gICAgY20gPSB7fSBhcyBJRmllbGRTdG9yZWRNZXRhZGF0YTxhbnk+O1xuICAgIGZvciAoY29uc3Qga2V5IG9mIG93bktleXMobWV0YSBhcyBhbnkpKSB7XG4gICAgICAoY20gYXMgYW55KVtrZXldID0gKG1ldGEgYXMgYW55KVtrZXldO1xuICAgIH1cbiAgICBpZiAobWV0YS5uYW1lID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNtLm5hbWUgPSBgJHtTdHJpbmcocHJvcGVydHlLZXkpfWA7XG4gICAgfVxuICAgIGNtLnR5cGUgPSB0eXBlO1xuICAgIGNtLnNlbGYgPSBwaztcbiAgICBjbS5tYW5hZ2VyID0gbmV3IG1hbmFnZXIoY20pO1xuICAgIGFsbE1ldGFkYXRhLnNldChwaywgY20pO1xuICAgIFJlZmxlY3QuZGVmaW5lTWV0YWRhdGEoUFJPUEVSVFlfTUVUQURBVEFfS0VZLCBhbGxNZXRhZGF0YSwgdGFyZ2V0KTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,38 +0,0 @@
1
- import { BaseFieldManager, genericDataField } from './base';
2
- export class BooleanFieldManager extends BaseFieldManager {
3
- constructor() {
4
- super(...arguments);
5
- this.editorType = 'input.checkbox';
6
- this.displayType = 'boolean';
7
- }
8
- fromJson(data) {
9
- if (data === undefined) {
10
- if (this.required) {
11
- return this.getDefaultValue();
12
- }
13
- else {
14
- return null;
15
- }
16
- }
17
- if (data === null) {
18
- if (this.required) {
19
- return this.getDefaultValue();
20
- }
21
- else {
22
- return null;
23
- }
24
- }
25
- if (typeof data === 'boolean') {
26
- return data;
27
- }
28
- if (typeof data === 'string') {
29
- if (['true', '1', 'ok', 'yes'].indexOf(data) !== -1) {
30
- return true;
31
- }
32
- return ['false', '0', 'nok', 'no'].indexOf(data) === -1;
33
- }
34
- return !!data;
35
- }
36
- }
37
- export const booleanField = (updates = {}) => genericDataField(updates, 'booleanField', BooleanFieldManager);
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9vbGVhbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9kYXRhL2ZpZWxkcy9ib29sZWFuLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBa0IsTUFBTSxRQUFRLENBQUM7QUFRNUUsTUFBTSxPQUFPLG1CQUNYLFNBQVEsZ0JBQWdDO0lBRDFDOztRQUlrQixlQUFVLEdBQTBCLGdCQUFnQixDQUFDO1FBQ3JELGdCQUFXLEdBQTJCLFNBQVMsQ0FBQztJQTRCbEUsQ0FBQztJQTFCaUIsUUFBUSxDQUFDLElBQVM7UUFDaEMsSUFBSSxJQUFJLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDbEIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sSUFBSSxDQUFDLGVBQWUsRUFBRyxDQUFDO1lBQ2pDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQztZQUNkLENBQUM7UUFDSCxDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQWUsQ0FBQztRQUN6QixDQUFDO1FBQ0QsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3BELE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQztZQUNELE9BQU8sQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUNELE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNoQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxVQUFpQyxFQUFFLEVBQUUsRUFBRSxDQUNsRSxnQkFBZ0IsQ0FDZCxPQUFPLEVBQ1AsY0FBYyxFQUNkLG1CQUFtQixDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQmFzZUZpZWxkTWFuYWdlciwgZ2VuZXJpY0RhdGFGaWVsZCwgSUZpZWxkTWV0YWRhdGEgfSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHtcbiAgRElTUEVESVRfRElTUExBWV9UWVBFUyxcbiAgRElTUEVESVRfRURJVE9SX1RZUEVTLFxufSBmcm9tICcuLi8uLi9kaXNwZWRpdC9kaXNwZWRpdC9kaXNwZWRpdC5jb25zdGFudHMnO1xuXG5leHBvcnQgdHlwZSBJQm9vbGVhbkZpZWxkTWV0YWRhdGEgPSBJRmllbGRNZXRhZGF0YTxib29sZWFuIHwgbnVsbD47XG5cbmV4cG9ydCBjbGFzcyBCb29sZWFuRmllbGRNYW5hZ2VyXG4gIGV4dGVuZHMgQmFzZUZpZWxkTWFuYWdlcjxib29sZWFuIHwgbnVsbD5cbiAgaW1wbGVtZW50cyBJQm9vbGVhbkZpZWxkTWV0YWRhdGFcbntcbiAgcHVibGljIG92ZXJyaWRlIGVkaXRvclR5cGU6IERJU1BFRElUX0VESVRPUl9UWVBFUyA9ICdpbnB1dC5jaGVja2JveCc7XG4gIHB1YmxpYyBvdmVycmlkZSBkaXNwbGF5VHlwZTogRElTUEVESVRfRElTUExBWV9UWVBFUyA9ICdib29sZWFuJztcblxuICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUpzb24oZGF0YTogYW55KTogYm9vbGVhbiB8IG51bGwge1xuICAgIGlmIChkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmICh0aGlzLnJlcXVpcmVkKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRWYWx1ZSgpITtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoZGF0YSA9PT0gbnVsbCkge1xuICAgICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RGVmYXVsdFZhbHVlKCkhO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gZGF0YSBhcyBib29sZWFuO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoWyd0cnVlJywgJzEnLCAnb2snLCAneWVzJ10uaW5kZXhPZihkYXRhKSAhPT0gLTEpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gWydmYWxzZScsICcwJywgJ25vaycsICdubyddLmluZGV4T2YoZGF0YSkgPT09IC0xO1xuICAgIH1cbiAgICByZXR1cm4gISFkYXRhO1xuICB9XG59XG5cbmV4cG9ydCBjb25zdCBib29sZWFuRmllbGQgPSAodXBkYXRlczogSUJvb2xlYW5GaWVsZE1ldGFkYXRhID0ge30pID0+XG4gIGdlbmVyaWNEYXRhRmllbGQ8Ym9vbGVhbiB8IG51bGwsIElCb29sZWFuRmllbGRNZXRhZGF0YSwgQm9vbGVhbkZpZWxkTWFuYWdlcj4oXG4gICAgdXBkYXRlcyxcbiAgICAnYm9vbGVhbkZpZWxkJyxcbiAgICBCb29sZWFuRmllbGRNYW5hZ2VyXG4gICk7XG4iXX0=
@@ -1,10 +0,0 @@
1
- import { BaseFieldManager, genericDataField, } from './base';
2
- export class ComputedFieldManager extends BaseFieldManager {
3
- constructor() {
4
- super(...arguments);
5
- this.computed = true;
6
- }
7
- fromJson(data, coll) { }
8
- }
9
- export const computedField = (meta = {}) => genericDataField(meta, 'computedField', ComputedFieldManager);
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcHV0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGF0YS9maWVsZHMvY29tcHV0ZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLGdCQUFnQixFQUVoQixnQkFBZ0IsR0FFakIsTUFBTSxRQUFRLENBQUM7QUFVaEIsTUFBTSxPQUFPLG9CQUNYLFNBQVEsZ0JBQW1CO0lBRDdCOztRQUtrQixhQUFRLEdBQUcsSUFBSSxDQUFDO0lBR2xDLENBQUM7SUFEaUIsUUFBUSxDQUFDLElBQVMsRUFBRSxJQUFzQixJQUFRLENBQUM7Q0FDcEU7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FDM0IsT0FBb0MsRUFBRSxFQUNwQixFQUFFLENBQ3BCLGdCQUFnQixDQUFDLElBQUksRUFBRSxlQUFlLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJhc2VGaWVsZE1hbmFnZXIsXG4gIEZpZWxkRGVjb3JhdG9yRm4sXG4gIGdlbmVyaWNEYXRhRmllbGQsXG4gIElGaWVsZE1ldGFkYXRhLFxufSBmcm9tICcuL2Jhc2UnO1xuaW1wb3J0IHsgQ29sbGVjdGlvbiB9IGZyb20gJy4uL2RhdGEtY29sbGVjdGlvbic7XG5pbXBvcnQgeyBJQ2hhckZpZWxkQ2hvaWNlIH0gZnJvbSAnLi9zdHJpbmdmaWVsZHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb21wdXRlZEZpZWxkTWV0YWRhdGE8VD4gZXh0ZW5kcyBJRmllbGRNZXRhZGF0YTxUPiB7XG4gIGZpZWxkPzogc3RyaW5nO1xuICBmYWN0b3I/OiBudW1iZXI7XG4gIGNob2ljZXM/OiBJQ2hhckZpZWxkQ2hvaWNlW107XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wdXRlZEZpZWxkTWFuYWdlcjxUPlxuICBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8VD5cbiAgaW1wbGVtZW50cyBJQ29tcHV0ZWRGaWVsZE1ldGFkYXRhPFQ+XG57XG4gIHB1YmxpYyBmaWVsZD86IHN0cmluZztcbiAgcHVibGljIG92ZXJyaWRlIGNvbXB1dGVkID0gdHJ1ZTtcblxuICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUpzb24oZGF0YTogYW55LCBjb2xsPzogQ29sbGVjdGlvbjxhbnk+KTogYW55IHt9XG59XG5cbmV4cG9ydCBjb25zdCBjb21wdXRlZEZpZWxkID0gKFxuICBtZXRhOiBJQ29tcHV0ZWRGaWVsZE1ldGFkYXRhPGFueT4gPSB7fVxuKTogRmllbGREZWNvcmF0b3JGbiA9PlxuICBnZW5lcmljRGF0YUZpZWxkKG1ldGEsICdjb21wdXRlZEZpZWxkJywgQ29tcHV0ZWRGaWVsZE1hbmFnZXIpO1xuIl19
@@ -1,167 +0,0 @@
1
- import { BaseFieldManager, genericDataField } from './base';
2
- export const dateMinimum = (date) => {
3
- return (control) => {
4
- if (control.value == null) {
5
- return null;
6
- }
7
- const controlDate = new Date(control.value);
8
- const validationDate = date;
9
- return controlDate > validationDate
10
- ? null
11
- : {
12
- minDate: {
13
- 'date-minimum': validationDate,
14
- actual: controlDate,
15
- },
16
- };
17
- };
18
- };
19
- export const dateMaximum = (date) => {
20
- return (control) => {
21
- if (control.value == null) {
22
- return null;
23
- }
24
- const controlDate = new Date(control.value);
25
- const validationDate = date;
26
- return controlDate < validationDate
27
- ? null
28
- : {
29
- maxDate: {
30
- 'date-maximum': validationDate,
31
- actual: controlDate,
32
- },
33
- };
34
- };
35
- };
36
- export class DateFieldManager extends BaseFieldManager {
37
- constructor(params) {
38
- super(params);
39
- this.autoNow = false;
40
- this.autoNowAdd = false;
41
- this.editorType = 'input.date';
42
- this.displayType = 'date';
43
- }
44
- get validators() {
45
- const v = super.validators;
46
- if (this.min) {
47
- v.push(dateMinimum(this.min));
48
- }
49
- if (this.max) {
50
- v.push(dateMaximum(this.max));
51
- }
52
- return v;
53
- }
54
- fromJson(data) {
55
- if (data === null || data === undefined) {
56
- return null;
57
- }
58
- const date = new Date(data);
59
- if (date instanceof Date && !isNaN(date)) {
60
- return date;
61
- }
62
- return null;
63
- }
64
- toJson(data) {
65
- if (data === null || data === undefined) {
66
- return null;
67
- }
68
- if (typeof data === 'string') {
69
- const d = this.fromJson(data);
70
- if (d === null) {
71
- return null;
72
- }
73
- data = d;
74
- }
75
- return `${data.getUTCFullYear()}-${data.getUTCMonth() + 1}-${data.getUTCDate()}`;
76
- }
77
- /**
78
- * Returns default value for model, using args if needed.
79
- * @param args
80
- * @protected
81
- */
82
- getDefaultValue(args = {}) {
83
- if (this.defaultValue instanceof Function) {
84
- return this.defaultValue(args);
85
- }
86
- if (this.required && this.defaultValue === undefined) {
87
- throw new Error(`Field ${this.name} : no default value for required field`);
88
- }
89
- if (this.defaultValue === undefined) {
90
- return this.autoNow || this.autoNowAdd ? new Date() : null;
91
- }
92
- return this.defaultValue;
93
- }
94
- }
95
- /**
96
- * Datetime field manager.
97
- *
98
- */
99
- export class DatetimeFieldManager extends DateFieldManager {
100
- constructor(params) {
101
- super(params);
102
- this.editorType = 'input.datetime';
103
- this.displayType = 'datetime';
104
- }
105
- toJson(data) {
106
- if (data === null || data === undefined) {
107
- return null;
108
- }
109
- if (typeof data === 'string') {
110
- const d = this.fromJson(data);
111
- if (d === null) {
112
- return null;
113
- }
114
- data = d;
115
- }
116
- try {
117
- if (this.timezone === null || this.timezone === undefined) {
118
- const offset = data.getTimezoneOffset();
119
- const localDate = new Date(data.getTime() - offset * 60000);
120
- return localDate.toISOString().replace('Z', '');
121
- }
122
- else if (this.timezone === 'UTC') {
123
- return data.toISOString();
124
- }
125
- else {
126
- return data.toISOString().replace('Z', '') + this.timezone;
127
- }
128
- }
129
- catch (e) {
130
- console.error(e, data);
131
- return null;
132
- }
133
- }
134
- fromJson(data) {
135
- if (data === null || data === undefined) {
136
- return null;
137
- }
138
- let date;
139
- if (typeof data === 'string') {
140
- // If we don't have timezone info, we parse all dates as local
141
- if (this.timezone === null || this.timezone === undefined) {
142
- if (data.endsWith('Z')) {
143
- date = new Date(data.replace('Z', ''));
144
- }
145
- else if (data.match(/[-+]\d{4}$/)) {
146
- date = new Date(data.replace(/[-+]\d{4}$/, ''));
147
- }
148
- else {
149
- date = new Date(data);
150
- }
151
- }
152
- else {
153
- date = new Date(data);
154
- }
155
- }
156
- else {
157
- date = new Date(data);
158
- }
159
- if (date instanceof Date && !isNaN(date)) {
160
- return date;
161
- }
162
- return null;
163
- }
164
- }
165
- export const dateField = (updates = {}) => genericDataField(updates, 'dateField', DateFieldManager);
166
- export const datetimeField = (updates = {}) => genericDataField(updates, 'datetimeField', DatetimeFieldManager);
167
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvZGF0YS9maWVsZHMvZGF0ZXRpbWUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFrQixNQUFNLFFBQVEsQ0FBQztBQWM1RSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxJQUFVLEVBQWUsRUFBRTtJQUNyRCxPQUFPLENBQUMsT0FBd0IsRUFBMkIsRUFBRTtRQUMzRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTVDLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQztRQUU1QixPQUFPLFdBQVcsR0FBRyxjQUFjO1lBQ2pDLENBQUMsQ0FBQyxJQUFJO1lBQ04sQ0FBQyxDQUFDO2dCQUNFLE9BQU8sRUFBRTtvQkFDUCxjQUFjLEVBQUUsY0FBYztvQkFDOUIsTUFBTSxFQUFFLFdBQVc7aUJBQ3BCO2FBQ0YsQ0FBQztJQUNSLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLElBQVUsRUFBZSxFQUFFO0lBQ3JELE9BQU8sQ0FBQyxPQUF3QixFQUEyQixFQUFFO1FBQzNELElBQUksT0FBTyxDQUFDLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMxQixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUMsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTVCLE9BQU8sV0FBVyxHQUFHLGNB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QUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDeEIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLENBQUM7UUFFRCxJQUFJLElBQUksWUFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBVyxDQUFDLEVBQUUsQ0FBQztZQUNoRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7Q0FDRjtBQUVELE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLFVBQThCLEVBQUUsRUFBRSxFQUFFLENBQzVELGdCQUFnQixDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztBQUUzRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxVQUFrQyxFQUFFLEVBQUUsRUFBRSxDQUNwRSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCYXNlRmllbGRNYW5hZ2VyLCBnZW5lcmljRGF0YUZpZWxkLCBJRmllbGRNZXRhZGF0YSB9IGZyb20gJy4vYmFzZSc7XG5pbXBvcnQge1xuICBESVNQRURJVF9ESVNQTEFZX1RZUEVTLFxuICBESVNQRURJVF9FRElUT1JfVFlQRVMsXG59IGZyb20gJy4uLy4uL2Rpc3BlZGl0L2Rpc3BlZGl0L2Rpc3BlZGl0LmNvbnN0YW50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEYXRlRmllbGRNZXRhZGF0YSBleHRlbmRzIElGaWVsZE1ldGFkYXRhPERhdGUgfCBudWxsPiB7XG4gIGF1dG9Ob3c/OiBib29sZWFuO1xuICBhdXRvTm93QWRkPzogYm9vbGVhbjtcbiAgbWluPzogRGF0ZTtcbiAgbWF4PzogRGF0ZTtcbn1cblxuZXhwb3J0IGNvbnN0IGRhdGVNaW5pbXVtID0gKGRhdGU6IERhdGUpOiBWYWxpZGF0b3JGbiA9PiB7XG4gIHJldHVybiAoY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwgPT4ge1xuICAgIGlmIChjb250cm9sLnZhbHVlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uRGF0ZSA9IGRhdGU7XG5cbiAgICByZXR1cm4gY29udHJvbERhdGUgPiB2YWxpZGF0aW9uRGF0ZVxuICAgICAgPyBudWxsXG4gICAgICA6IHtcbiAgICAgICAgICBtaW5EYXRlOiB7XG4gICAgICAgICAgICAnZGF0ZS1taW5pbXVtJzogdmFsaWRhdGlvbkRhdGUsXG4gICAgICAgICAgICBhY3R1YWw6IGNvbnRyb2xEYXRlLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZGF0ZU1heGltdW0gPSAoZGF0ZTogRGF0ZSk6IFZhbGlkYXRvckZuID0+IHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgaWYgKGNvbnRyb2wudmFsdWUgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGNvbnRyb2xEYXRlID0gbmV3IERhdGUoY29udHJvbC52YWx1ZSk7XG4gICAgY29uc3QgdmFsaWRhdGlvbkRhdGUgPSBkYXRlO1xuXG4gICAgcmV0dXJuIGNvbnRyb2xEYXRlIDwgdmFsaWRhdGlvbkRhdGVcbiAgICAgID8gbnVsbFxuICAgICAgOiB7XG4gICAgICAgICAgbWF4RGF0ZToge1xuICAgICAgICAgICAgJ2RhdGUtbWF4aW11bSc6IHZhbGlkYXRpb25EYXRlLFxuICAgICAgICAgICAgYWN0dWFsOiBjb250cm9sRGF0ZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9O1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhIGV4dGVuZHMgSURhdGVGaWVsZE1ldGFkYXRhIHtcbiAgdGltZXpvbmU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgY2xhc3MgRGF0ZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIEJhc2VGaWVsZE1hbmFnZXI8RGF0ZSB8IG51bGw+XG4gIGltcGxlbWVudHMgSURhdGVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyBhdXRvTm93ID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvTm93QWRkID0gZmFsc2U7XG4gIHB1YmxpYyBtaW4/OiBEYXRlO1xuICBwdWJsaWMgbWF4PzogRGF0ZTtcbiAgcHVibGljIG92ZXJyaWRlIGVkaXRvclR5cGU6IERJU1BFRElUX0VESVRPUl9UWVBFUyA9ICdpbnB1dC5kYXRlJztcbiAgcHVibGljIG92ZXJyaWRlIGRpc3BsYXlUeXBlOiBESVNQRURJVF9ESVNQTEFZX1RZUEVTID0gJ2RhdGUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogSURhdGVGaWVsZE1ldGFkYXRhKSB7XG4gICAgc3VwZXIocGFyYW1zIGFzIElGaWVsZE1ldGFkYXRhPERhdGUgfCBudWxsPik7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0IHZhbGlkYXRvcnMoKTogVmFsaWRhdG9yRm5bXSB7XG4gICAgY29uc3QgdiA9IHN1cGVyLnZhbGlkYXRvcnM7XG4gICAgaWYgKHRoaXMubWluKSB7XG4gICAgICB2LnB1c2goZGF0ZU1pbmltdW0odGhpcy5taW4pKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubWF4KSB7XG4gICAgICB2LnB1c2goZGF0ZU1heGltdW0odGhpcy5tYXgpKTtcbiAgICB9XG4gICAgcmV0dXJuIHY7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZnJvbUpzb24oZGF0YTogYW55KTogRGF0ZSB8IG51bGwge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICBpZiAoZGF0ZSBpbnN0YW5jZW9mIERhdGUgJiYgIWlzTmFOKGRhdGUgYXMgYW55KSkge1xuICAgICAgcmV0dXJuIGRhdGU7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvSnNvbihkYXRhOiBEYXRlIHwgc3RyaW5nIHwgbnVsbCk6IG51bGwgfCBzdHJpbmcge1xuICAgIGlmIChkYXRhID09PSBudWxsIHx8IGRhdGEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGNvbnN0IGQgPSB0aGlzLmZyb21Kc29uKGRhdGEpO1xuICAgICAgaWYgKGQgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBkYXRhID0gZDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2RhdGEuZ2V0VVRDRnVsbFllYXIoKX0tJHtcbiAgICAgIGRhdGEuZ2V0VVRDTW9udGgoKSArIDFcbiAgICB9LSR7ZGF0YS5nZXRVVENEYXRlKCl9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGRlZmF1bHQgdmFsdWUgZm9yIG1vZGVsLCB1c2luZyBhcmdzIGlmIG5lZWRlZC5cbiAgICogQHBhcmFtIGFyZ3NcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGdldERlZmF1bHRWYWx1ZShhcmdzOiBhbnkgPSB7fSk6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgaW5zdGFuY2VvZiBGdW5jdGlvbikge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlKGFyZ3MpO1xuICAgIH1cbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiB0aGlzLmRlZmF1bHRWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBGaWVsZCAke3RoaXMubmFtZX0gOiBubyBkZWZhdWx0IHZhbHVlIGZvciByZXF1aXJlZCBmaWVsZGAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHRoaXMuYXV0b05vdyB8fCB0aGlzLmF1dG9Ob3dBZGQgPyBuZXcgRGF0ZSgpIDogbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFZhbHVlO1xuICB9XG59XG5cbi8qKlxuICogRGF0ZXRpbWUgZmllbGQgbWFuYWdlci5cbiAqXG4gKi9cbmV4cG9ydCBjbGFzcyBEYXRldGltZUZpZWxkTWFuYWdlclxuICBleHRlbmRzIERhdGVGaWVsZE1hbmFnZXJcbiAgaW1wbGVtZW50cyBJRGF0ZXRpbWVGaWVsZE1ldGFkYXRhXG57XG4gIHB1YmxpYyB0aW1lem9uZT86IHN0cmluZyB8IG51bGw7XG4gIHB1YmxpYyBvdmVycmlkZSBlZGl0b3JUeXBlOiBESVNQRURJVF9FRElUT1JfVFlQRVMgPSAnaW5wdXQuZGF0ZXRpbWUnO1xuICBwdWJsaWMgb3ZlcnJpZGUgZGlzcGxheVR5cGU6IERJU1BFRElUX0RJU1BMQVlfVFlQRVMgPSAnZGF0ZXRpbWUnO1xuXG4gIGNvbnN0cnVjdG9yKHBhcmFtczogSURhdGV0aW1lRmllbGRNZXRhZGF0YSkge1xuICAgIHN1cGVyKHBhcmFtcyBhcyBJRmllbGRNZXRhZGF0YTxEYXRlIHwgbnVsbD4pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIHRvSnNvbihkYXRhOiBEYXRlIHwgc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGRhdGEgPT09IG51bGwgfHwgZGF0YSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgY29uc3QgZCA9IHRoaXMuZnJvbUpzb24oZGF0YSk7XG4gICAgICBpZiAoZCA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIGRhdGEgPSBkO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgaWYgKHRoaXMudGltZXpvbmUgPT09IG51bGwgfHwgdGhpcy50aW1lem9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGRhdGEuZ2V0VGltZXpvbmVPZmZzZXQoKTtcbiAgICAgICAgY29uc3QgbG9jYWxEYXRlID0gbmV3IERhdGUoZGF0YS5nZXRUaW1lKCkgLSBvZmZzZXQgKiA2MDAwMCk7XG4gICAgICAgIHJldHVybiBsb2NhbERhdGUudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRpbWV6b25lID09PSAnVVRDJykge1xuICAgICAgICByZXR1cm4gZGF0YS50b0lTT1N0cmluZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGRhdGEudG9JU09TdHJpbmcoKS5yZXBsYWNlKCdaJywgJycpICsgdGhpcy50aW1lem9uZTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGUsIGRhdGEpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGZyb21Kc29uKGRhdGE6IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAoZGF0YSA9PT0gbnVsbCB8fCBkYXRhID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBsZXQgZGF0ZTogRGF0ZTtcbiAgICBpZiAodHlwZW9mIGRhdGEgPT09ICdzdHJpbmcnKSB7XG4gICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIHRpbWV6b25lIGluZm8sIHdlIHBhcnNlIGFsbCBkYXRlcyBhcyBsb2NhbFxuICAgICAgaWYgKHRoaXMudGltZXpvbmUgPT09IG51bGwgfHwgdGhpcy50aW1lem9uZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChkYXRhLmVuZHNXaXRoKCdaJykpIHtcbiAgICAgICAgICBkYXRlID0gbmV3IERhdGUoZGF0YS5yZXBsYWNlKCdaJywgJycpKTtcbiAgICAgICAgfSBlbHNlIGlmIChkYXRhLm1hdGNoKC9bLStdXFxkezR9JC8pKSB7XG4gICAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGEucmVwbGFjZSgvWy0rXVxcZHs0fSQvLCAnJykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGUgPSBuZXcgRGF0ZShkYXRhKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGEpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBkYXRlID0gbmV3IERhdGUoZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKGRhdGUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTihkYXRlIGFzIGFueSkpIHtcbiAgICAgIHJldHVybiBkYXRlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG5leHBvcnQgY29uc3QgZGF0ZUZpZWxkID0gKHVwZGF0ZXM6IElEYXRlRmllbGRNZXRhZGF0YSA9IHt9KSA9PlxuICBnZW5lcmljRGF0YUZpZWxkKHVwZGF0ZXMsICdkYXRlRmllbGQnLCBEYXRlRmllbGRNYW5hZ2VyKTtcblxuZXhwb3J0IGNvbnN0IGRhdGV0aW1lRmllbGQgPSAodXBkYXRlczogSURhdGV0aW1lRmllbGRNZXRhZGF0YSA9IHt9KSA9PlxuICBnZW5lcmljRGF0YUZpZWxkKHVwZGF0ZXMsICdkYXRldGltZUZpZWxkJywgRGF0ZXRpbWVGaWVsZE1hbmFnZXIpO1xuIl19