@solidev/data 0.0.1-dev.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 +7 -0
- package/esm2020/lib/auth/auth-interceptor.service.mjs +73 -0
- package/esm2020/lib/auth/auth.service.mjs +114 -0
- package/esm2020/lib/auth/jwt.mjs +21 -0
- package/esm2020/lib/data/data-backend.mjs +106 -0
- package/esm2020/lib/data/data-collection.mjs +109 -0
- package/esm2020/lib/data/data-collection.mock.mjs +39 -0
- package/esm2020/lib/data/data-model.mjs +287 -0
- package/esm2020/lib/data/data-parameters.mjs +34 -0
- package/esm2020/lib/data/data-query.mjs +143 -0
- package/esm2020/lib/data/data-query.mock.mjs +46 -0
- package/esm2020/lib/data/fields/base.mjs +142 -0
- package/esm2020/lib/data/fields/boolean.mjs +38 -0
- package/esm2020/lib/data/fields/datetime.mjs +109 -0
- package/esm2020/lib/data/fields/index.mjs +7 -0
- package/esm2020/lib/data/fields/numbers.mjs +28 -0
- package/esm2020/lib/data/fields/primaryfield.mjs +9 -0
- package/esm2020/lib/data/fields/relations.mjs +53 -0
- package/esm2020/lib/data/fields/stringfields.mjs +71 -0
- package/esm2020/lib/dispedit/choice.pipe.mjs +38 -0
- package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +457 -0
- package/esm2020/lib/dispedit/dispedit/dispedit.constants.mjs +2 -0
- package/esm2020/lib/dispedit/dispedit.module.mjs +60 -0
- package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +140 -0
- package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +316 -0
- package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +43 -0
- package/esm2020/lib/messages/message-zone/message-zone.component.mjs +57 -0
- package/esm2020/lib/messages/message.service.mjs +151 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +34 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +63 -0
- package/esm2020/lib/modellist/model-list-fields/model-list-fields.mjs +225 -0
- package/esm2020/lib/modellist/model-list-filters/filters/filtertypes.mjs +3 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +104 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +31 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +25 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +40 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +44 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +49 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +45 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +26 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +40 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +21 -0
- package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +14 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +41 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +48 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +30 -0
- package/esm2020/lib/modellist/model-list-filters/model-list-filters.mjs +80 -0
- package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +70 -0
- package/esm2020/lib/modellist/model-list-paginator/model-list-paginator.mjs +47 -0
- package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +49 -0
- package/esm2020/lib/modellist/model-list-sorter/model-list-sorter.mjs +116 -0
- package/esm2020/lib/modellist/model-list.service.mjs +115 -0
- package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +142 -0
- package/esm2020/lib/routing/routing.mjs +57 -0
- package/esm2020/lib/uploader/index.mjs +6 -0
- package/esm2020/lib/uploader/interfaces.mjs +8 -0
- package/esm2020/lib/uploader/ng-file-drop.directive.mjs +81 -0
- package/esm2020/lib/uploader/ng-file-select.directive.mjs +51 -0
- package/esm2020/lib/uploader/ngx-uploader.class.mjs +308 -0
- package/esm2020/lib/uploader/ngx-uploader.module.mjs +17 -0
- package/esm2020/lib/utils/slugify.mjs +16 -0
- package/esm2020/lib/utils/tab-memory.service.mjs +71 -0
- package/esm2020/public-api.mjs +41 -0
- package/esm2020/solidev-data.mjs +5 -0
- package/fesm2015/solidev-data.mjs +4791 -0
- package/fesm2015/solidev-data.mjs.map +1 -0
- package/fesm2020/solidev-data.mjs +4757 -0
- package/fesm2020/solidev-data.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/auth/auth-interceptor.service.d.ts +16 -0
- package/lib/auth/auth.service.d.ts +38 -0
- package/lib/auth/jwt.d.ts +22 -0
- package/lib/data/data-backend.d.ts +47 -0
- package/lib/data/data-collection.d.ts +87 -0
- package/lib/data/data-collection.mock.d.ts +19 -0
- package/lib/data/data-model.d.ts +91 -0
- package/lib/data/data-parameters.d.ts +26 -0
- package/lib/data/data-query.d.ts +100 -0
- package/lib/data/data-query.mock.d.ts +25 -0
- package/lib/data/fields/base.d.ts +116 -0
- package/lib/data/fields/boolean.d.ts +9 -0
- package/lib/data/fields/datetime.d.ts +39 -0
- package/lib/data/fields/index.d.ts +6 -0
- package/lib/data/fields/numbers.d.ts +31 -0
- package/lib/data/fields/primaryfield.d.ts +8 -0
- package/lib/data/fields/relations.d.ts +45 -0
- package/lib/data/fields/stringfields.d.ts +50 -0
- package/lib/dispedit/choice.pipe.d.ts +8 -0
- package/lib/dispedit/dispedit/dispedit.component.d.ts +177 -0
- package/lib/dispedit/dispedit/dispedit.constants.d.ts +6 -0
- package/lib/dispedit/dispedit.module.d.ts +20 -0
- package/lib/dispedit/fkselect/fkselect.component.d.ts +43 -0
- package/lib/dispedit/m2mselect/m2mselect.component.d.ts +120 -0
- package/lib/dispedit/sdelete/sdelete.component.d.ts +26 -0
- package/lib/messages/message-zone/message-zone.component.d.ts +14 -0
- package/lib/messages/message.service.d.ts +59 -0
- package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +15 -0
- package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +19 -0
- package/lib/modellist/model-list-fields/model-list-fields.d.ts +67 -0
- package/lib/modellist/model-list-filters/filters/filtertypes.d.ts +1 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +30 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.d.ts +24 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +10 -0
- package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.d.ts +15 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.d.ts +17 -0
- package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.d.ts +19 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +17 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.d.ts +16 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.d.ts +16 -0
- package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +11 -0
- package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.d.ts +4 -0
- package/lib/modellist/model-list-filters/model-list-filter.d.ts +31 -0
- package/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.d.ts +9 -0
- package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +13 -0
- package/lib/modellist/model-list-filters/model-list-filters.d.ts +15 -0
- package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +23 -0
- package/lib/modellist/model-list-paginator/model-list-paginator.d.ts +16 -0
- package/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.d.ts +22 -0
- package/lib/modellist/model-list-sorter/model-list-sorter.d.ts +61 -0
- package/lib/modellist/model-list.service.d.ts +79 -0
- package/lib/routing/breadcrumb/breadcrumb.component.d.ts +42 -0
- package/lib/routing/routing.d.ts +64 -0
- package/lib/uploader/index.d.ts +5 -0
- package/lib/uploader/interfaces.d.ts +67 -0
- package/lib/uploader/ng-file-drop.directive.d.ts +22 -0
- package/lib/uploader/ng-file-select.directive.d.ts +19 -0
- package/lib/uploader/ngx-uploader.class.d.ts +35 -0
- package/lib/uploader/ngx-uploader.module.d.ts +8 -0
- package/lib/utils/slugify.d.ts +1 -0
- package/lib/utils/tab-memory.service.d.ts +29 -0
- package/package.json +32 -0
- package/public-api.d.ts +37 -0
- package/src/lib/data/README.md +35 -0
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
import { ReplaySubject } from 'rxjs';
|
|
2
|
+
export class ModelListFields {
|
|
3
|
+
constructor(collection, params) {
|
|
4
|
+
this._fields = new ReplaySubject(1);
|
|
5
|
+
this._enabled = [];
|
|
6
|
+
this._output = new ReplaySubject(1);
|
|
7
|
+
// Get fields from model
|
|
8
|
+
const m = collection.create();
|
|
9
|
+
const tmp = [];
|
|
10
|
+
for (const fn of m.FN) {
|
|
11
|
+
tmp.push({
|
|
12
|
+
name: fn,
|
|
13
|
+
label: m.FM(fn).description || fn,
|
|
14
|
+
allowed: false,
|
|
15
|
+
enabled: false,
|
|
16
|
+
field: m.FV(fn),
|
|
17
|
+
position: tmp.length * 10,
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
// Add custom fields if provided
|
|
21
|
+
const custom = params?.custom || [];
|
|
22
|
+
for (const c of custom) {
|
|
23
|
+
tmp.push({
|
|
24
|
+
name: c.name,
|
|
25
|
+
label: c.label,
|
|
26
|
+
allowed: false,
|
|
27
|
+
enabled: false,
|
|
28
|
+
field: null,
|
|
29
|
+
position: tmp.length * 10,
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
// Prepare allowed fields (all fields if not set or empty)
|
|
33
|
+
let allowed;
|
|
34
|
+
if (params?.allowed === undefined || params?.allowed === []) {
|
|
35
|
+
allowed = Array.from(m.FN);
|
|
36
|
+
for (const c of custom) {
|
|
37
|
+
allowed.push(c.name);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
allowed = params.allowed;
|
|
42
|
+
}
|
|
43
|
+
// Prepare excluded fields
|
|
44
|
+
const excluded = params?.excluded || [];
|
|
45
|
+
// Process default fields
|
|
46
|
+
// Use all allowed fields if empty of not set
|
|
47
|
+
const defaults = params?.defaults || allowed;
|
|
48
|
+
// Prepare fields status
|
|
49
|
+
// Set allowed
|
|
50
|
+
for (const fe of allowed) {
|
|
51
|
+
for (const f of tmp) {
|
|
52
|
+
if (f.name === fe) {
|
|
53
|
+
f.allowed = true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// Set defaults
|
|
58
|
+
let pos = 0;
|
|
59
|
+
for (const fe of defaults) {
|
|
60
|
+
for (const f of tmp) {
|
|
61
|
+
if (f.name === fe) {
|
|
62
|
+
f.enabled = true;
|
|
63
|
+
f.allowed = true;
|
|
64
|
+
f.position = pos;
|
|
65
|
+
}
|
|
66
|
+
pos += 10;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
// remove excluded
|
|
70
|
+
for (const fe of excluded) {
|
|
71
|
+
for (const f of tmp) {
|
|
72
|
+
if (f.name === fe) {
|
|
73
|
+
f.enabled = false;
|
|
74
|
+
f.allowed = false;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const filtered = [];
|
|
79
|
+
for (const f of tmp) {
|
|
80
|
+
if (!(!f.enabled && !f.allowed)) {
|
|
81
|
+
filtered.push(f);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
this.__fields = filtered;
|
|
85
|
+
this._update();
|
|
86
|
+
}
|
|
87
|
+
get fields() {
|
|
88
|
+
return this._fields.asObservable();
|
|
89
|
+
}
|
|
90
|
+
get enabled() {
|
|
91
|
+
return this._enabled;
|
|
92
|
+
}
|
|
93
|
+
get output() {
|
|
94
|
+
return this._output.asObservable();
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Enable a field by name. Position is optional.
|
|
98
|
+
*
|
|
99
|
+
* @param fname : name of field to be enabled
|
|
100
|
+
* @param position : position (optional)
|
|
101
|
+
* @returns current enabled fields
|
|
102
|
+
*/
|
|
103
|
+
enable(fname, position) {
|
|
104
|
+
const f = this.get(fname);
|
|
105
|
+
if (f) {
|
|
106
|
+
f.enabled = true;
|
|
107
|
+
if (position !== undefined) {
|
|
108
|
+
f.position = position;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
console.error('Field not found', f);
|
|
113
|
+
}
|
|
114
|
+
this._update();
|
|
115
|
+
return this._enabled;
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Disable a field by name.
|
|
119
|
+
*
|
|
120
|
+
* @param fname : name of field to be disabled
|
|
121
|
+
* @returns current enabled fields
|
|
122
|
+
*/
|
|
123
|
+
disable(fname) {
|
|
124
|
+
const f = this.get(fname);
|
|
125
|
+
if (f) {
|
|
126
|
+
f.enabled = false;
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
console.error('Field not found', f);
|
|
130
|
+
}
|
|
131
|
+
this._update();
|
|
132
|
+
return this._enabled;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Move field `fname` before or after (depending on `position`) field `dest`.
|
|
136
|
+
*
|
|
137
|
+
* @param fname field to move
|
|
138
|
+
* @param position ("before" or "after")
|
|
139
|
+
* @param dest reference field
|
|
140
|
+
* @returns current enabled fields
|
|
141
|
+
*/
|
|
142
|
+
move(fname, position, dest = '') {
|
|
143
|
+
const ftarget = this.get(fname);
|
|
144
|
+
if (dest == '') {
|
|
145
|
+
const pos = this._enabled.indexOf(fname);
|
|
146
|
+
dest = this._enabled[pos + (position === 'before' ? -1 : +1)];
|
|
147
|
+
if (dest === undefined) {
|
|
148
|
+
return this._enabled;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
const fdest = this.get(dest);
|
|
152
|
+
// istanbul ignore if
|
|
153
|
+
if (!ftarget || !fdest) {
|
|
154
|
+
console.error('Target / dest not found', fname, dest);
|
|
155
|
+
return this._enabled;
|
|
156
|
+
}
|
|
157
|
+
if (fname == dest) {
|
|
158
|
+
ftarget.position = fdest.position + (position === 'before' ? -15 : +15);
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
ftarget.position = fdest.position + (position === 'before' ? -5 : +5);
|
|
162
|
+
}
|
|
163
|
+
this._update();
|
|
164
|
+
return this._enabled;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check if field with name `fname` is enabled.
|
|
168
|
+
*
|
|
169
|
+
* @param fname : name of field
|
|
170
|
+
* @returns enabled (true) or disabled (false)
|
|
171
|
+
*/
|
|
172
|
+
isEnabled(fname) {
|
|
173
|
+
return this._enabled.indexOf(fname) !== -1;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get field by name
|
|
177
|
+
* @param fname : name of field
|
|
178
|
+
* @returns Model list field or null if not found
|
|
179
|
+
*/
|
|
180
|
+
get(fname) {
|
|
181
|
+
for (const f of this.__fields) {
|
|
182
|
+
if (f.name === fname) {
|
|
183
|
+
return f;
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get field by position
|
|
190
|
+
* @param pos : position of field
|
|
191
|
+
* @returns Model list field or null if not found
|
|
192
|
+
*/
|
|
193
|
+
getAtPos(pos) {
|
|
194
|
+
return this.__fields[pos] || null;
|
|
195
|
+
}
|
|
196
|
+
_update() {
|
|
197
|
+
this.__fields.sort((a, b) => a.position - b.position);
|
|
198
|
+
let i = 0;
|
|
199
|
+
for (const f of this.__fields) {
|
|
200
|
+
f.position = i * 10;
|
|
201
|
+
i += 1;
|
|
202
|
+
}
|
|
203
|
+
const out = [];
|
|
204
|
+
for (const f of this.__fields) {
|
|
205
|
+
if (f.enabled) {
|
|
206
|
+
out.push(f.name);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
this._enabled = out;
|
|
210
|
+
this._output.next(this._enabled);
|
|
211
|
+
this._fields.next(this.__fields);
|
|
212
|
+
}
|
|
213
|
+
setPosition(fname, position) {
|
|
214
|
+
const f = this.get(fname);
|
|
215
|
+
if (f) {
|
|
216
|
+
f.position = position;
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
console.error('Field not found', f);
|
|
220
|
+
}
|
|
221
|
+
this._update();
|
|
222
|
+
return this._enabled;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1maWVsZHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmllbGRzL21vZGVsLWxpc3QtZmllbGRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFjakQsTUFBTSxPQUFPLGVBQWU7SUFHMUIsWUFBWSxVQUF5QixFQUFFLE1BQXFCO1FBc0ZwRCxZQUFPLEdBQUcsSUFBSSxhQUFhLENBQW1CLENBQUMsQ0FBQyxDQUFDO1FBTWpELGFBQVEsR0FBYSxFQUFFLENBQUM7UUFNeEIsWUFBTyxHQUFHLElBQUksYUFBYSxDQUFXLENBQUMsQ0FBQyxDQUFDO1FBakcvQyx3QkFBd0I7UUFDeEIsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlCLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQztRQUNmLEtBQUssTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNyQixHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUNQLElBQUksRUFBRSxFQUFFO2dCQUNSLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxFQUFFO2dCQUNqQyxPQUFPLEVBQUUsS0FBSztnQkFDZCxPQUFPLEVBQUUsS0FBSztnQkFDZCxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2YsUUFBUSxFQUFFLEdBQUcsQ0FBQyxNQUFNLEdBQUcsRUFBRTthQUMxQixDQUFDLENBQUM7U0FDSjtRQUNELGdDQUFnQztRQUNoQyxNQUFNLE1BQU0sR0FBRyxNQUFNLEVBQUUsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUNwQyxLQUFLLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRTtZQUN0QixH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SUFDbkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFVLEVBQUUsUUFBZ0I7UUFDdEMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsRUFBRTtZQUNMLENBQUMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQ3ZCO2FBQU07WUFDTCxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3JDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ2YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERhdGFNb2RlbCB9IGZyb20gJy4uLy4uL2RhdGEvZGF0YS1tb2RlbCc7XG5pbXBvcnQgeyBDb2xsZWN0aW9uIH0gZnJvbSAnLi4vLi4vZGF0YS9kYXRhLWNvbGxlY3Rpb24nO1xuaW1wb3J0IHsgRmllbGRzUGFyYW1zIH0gZnJvbSAnLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcblxuZXhwb3J0IGludGVyZmFjZSBNb2RlbExpc3RGaWVsZCB7XG4gIG5hbWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgYWxsb3dlZDogYm9vbGVhbjtcbiAgZmllbGQ6IGFueTtcbiAgcG9zaXRpb246IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEZpZWxkczxUIGV4dGVuZHMgRGF0YU1vZGVsPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX19maWVsZHMhOiBNb2RlbExpc3RGaWVsZFtdO1xuXG4gIGNvbnN0cnVjdG9yKGNvbGxlY3Rpb246IENvbGxlY3Rpb248VD4sIHBhcmFtcz86IEZpZWxkc1BhcmFtcykge1xuICAgIC8vIEdldCBmaWVsZHMgZnJvbSBtb2RlbFxuICAgIGNvbnN0IG0gPSBjb2xsZWN0aW9uLmNyZWF0ZSgpO1xuICAgIGNvbnN0IHRtcCA9IFtdO1xuICAgIGZvciAoY29uc3QgZm4gb2YgbS5GTikge1xuICAgICAgdG1wLnB1c2goe1xuICAgICAgICBuYW1lOiBmbixcbiAgICAgICAgbGFiZWw6IG0uRk0oZm4pLmRlc2NyaXB0aW9uIHx8IGZuLFxuICAgICAgICBhbGxvd2VkOiBmYWxzZSxcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgIGZpZWxkOiBtLkZWKGZuKSxcbiAgICAgICAgcG9zaXRpb246IHRtcC5sZW5ndGggKiAxMCxcbiAgICAgIH0pO1xuICAgIH1cbiAgICAvLyBBZGQgY3VzdG9tIGZpZWxkcyBpZiBwcm92aWRlZFxuICAgIGNvbnN0IGN1c3RvbSA9IHBhcmFtcz8uY3VzdG9tIHx8IFtdO1xuICAgIGZvciAoY29uc3QgYyBvZiBjdXN0b20pIHtcbiAgICAgIHRtcC5wdXNoKHtcbiAgICAgICAgbmFtZTogYy5uYW1lLFxuICAgICAgICBsYWJlbDogYy5sYWJlbCxcbiAgICAgICAgYWxsb3dlZDogZmFsc2UsXG4gICAgICAgIGVuYWJsZWQ6IGZhbHNlLFxuICAgICAgICBmaWVsZDogbnVsbCxcbiAgICAgICAgcG9zaXRpb246IHRtcC5sZW5ndGggKiAxMCxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIFByZXBhcmUgYWxsb3dlZCBmaWVsZHMgKGFsbCBmaWVsZHMgaWYgbm90IHNldCBvciBlbXB0eSlcbiAgICBsZXQgYWxsb3dlZDogc3RyaW5nW107XG4gICAgaWYgKHBhcmFtcz8uYWxsb3dlZCA9PT0gdW5kZWZpbmVkIHx8IHBhcmFtcz8uYWxsb3dlZCA9PT0gW10pIHtcbiAgICAgIGFsbG93ZWQgPSBBcnJheS5mcm9tKG0uRk4pO1xuICAgICAgZm9yIChjb25zdCBjIG9mIGN1c3RvbSkge1xuICAgICAgICBhbGxvd2VkLnB1c2goYy5uYW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYWxsb3dlZCA9IHBhcmFtcy5hbGxvd2VkO1xuICAgIH1cblxuICAgIC8vIFByZXBhcmUgZXhjbHVkZWQgZmllbGRzXG4gICAgY29uc3QgZXhjbHVkZWQ6IHN0cmluZ1tdID0gcGFyYW1zPy5leGNsdWRlZCB8fCBbXTtcblxuICAgIC8vIFByb2Nlc3MgZGVmYXVsdCBmaWVsZHNcbiAgICAvLyBVc2UgYWxsIGFsbG93ZWQgZmllbGRzIGlmIGVtcHR5IG9mIG5vdCBzZXRcbiAgICBjb25zdCBkZWZhdWx0czogc3RyaW5nW10gPSBwYXJhbXM/LmRlZmF1bHRzIHx8IGFsbG93ZWQ7XG5cbiAgICAvLyBQcmVwYXJlIGZpZWxkcyBzdGF0dXNcbiAgICAvLyBTZXQgYWxsb3dlZFxuICAgIGZvciAoY29uc3QgZmUgb2YgYWxsb3dlZCkge1xuICAgICAgZm9yIChjb25zdCBmIG9mIHRtcCkge1xuICAgICAgICBpZiAoZi5uYW1lID09PSBmZSkge1xuICAgICAgICAgIGYuYWxsb3dlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLy8gU2V0IGRlZmF1bHRzXG4gICAgbGV0IHBvcyA9IDA7XG4gICAgZm9yIChjb25zdCBmZSBvZiBkZWZhdWx0cykge1xuICAgICAgZm9yIChjb25zdCBmIG9mIHRtcCkge1xuICAgICAgICBpZiAoZi5uYW1lID09PSBmZSkge1xuICAgICAgICAgIGYuZW5hYmxlZCA9IHRydWU7XG4gICAgICAgICAgZi5hbGxvd2VkID0gdHJ1ZTtcbiAgICAgICAgICBmLnBvc2l0aW9uID0gcG9zO1xuICAgICAgICB9XG4gICAgICAgIHBvcyArPSAxMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gcmVtb3ZlIGV4Y2x1ZGVkXG4gICAgZm9yIChjb25zdCBmZSBvZiBleGNsdWRlZCkge1xuICAgICAgZm9yIChjb25zdCBmIG9mIHRtcCkge1xuICAgICAgICBpZiAoZi5uYW1lID09PSBmZSkge1xuICAgICAgICAgIGYuZW5hYmxlZCA9IGZhbHNlO1xuICAgICAgICAgIGYuYWxsb3dlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGZpbHRlcmVkID0gW107XG4gICAgZm9yIChjb25zdCBmIG9mIHRtcCkge1xuICAgICAgaWYgKCEoIWYuZW5hYmxlZCAmJiAhZi5hbGxvd2VkKSkge1xuICAgICAgICBmaWx0ZXJlZC5wdXNoKGYpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9fZmllbGRzID0gZmlsdGVyZWQ7XG5cbiAgICB0aGlzLl91cGRhdGUoKTtcbiAgfVxuXG4gIHByaXZhdGUgX2ZpZWxkcyA9IG5ldyBSZXBsYXlTdWJqZWN0PE1vZGVsTGlzdEZpZWxkW10+KDEpO1xuXG4gIHB1YmxpYyBnZXQgZmllbGRzKCk6IE9ic2VydmFibGU8TW9kZWxMaXN0RmllbGRbXT4ge1xuICAgIHJldHVybiB0aGlzLl9maWVsZHMuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBwcml2YXRlIF9lbmFibGVkOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHB1YmxpYyBnZXQgZW5hYmxlZCgpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIHRoaXMuX2VuYWJsZWQ7XG4gIH1cblxuICBwcml2YXRlIF9vdXRwdXQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmdbXT4oMSk7XG5cbiAgcHVibGljIGdldCBvdXRwdXQoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9vdXRwdXQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlIGEgZmllbGQgYnkgbmFtZS4gUG9zaXRpb24gaXMgb3B0aW9uYWwuXG4gICAqXG4gICAqIEBwYXJhbSBmbmFtZSA6IG5hbWUgb2YgZmllbGQgdG8gYmUgZW5hYmxlZFxuICAgKiBAcGFyYW0gIHBvc2l0aW9uIDogcG9zaXRpb24gKG9wdGlvbmFsKVxuICAgKiBAcmV0dXJucyBjdXJyZW50IGVuYWJsZWQgZmllbGRzXG4gICAqL1xuICBwdWJsaWMgZW5hYmxlKGZuYW1lOiBzdHJpbmcsIHBvc2l0aW9uPzogbnVtYmVyKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGYgPSB0aGlzLmdldChmbmFtZSk7XG4gICAgaWYgKGYpIHtcbiAgICAgIGYuZW5hYmxlZCA9IHRydWU7XG4gICAgICBpZiAocG9zaXRpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBmLnBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpZWxkIG5vdCBmb3VuZCcsIGYpO1xuICAgIH1cbiAgICB0aGlzLl91cGRhdGUoKTtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNhYmxlIGEgZmllbGQgYnkgbmFtZS5cbiAgICpcbiAgICogQHBhcmFtIGZuYW1lIDogbmFtZSBvZiBmaWVsZCB0byBiZSBkaXNhYmxlZFxuICAgKiBAcmV0dXJucyAgY3VycmVudCBlbmFibGVkIGZpZWxkc1xuICAgKi9cbiAgcHVibGljIGRpc2FibGUoZm5hbWU6IHN0cmluZyk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmID0gdGhpcy5nZXQoZm5hbWUpO1xuICAgIGlmIChmKSB7XG4gICAgICBmLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5lcnJvcignRmllbGQgbm90IGZvdW5kJywgZik7XG4gICAgfVxuICAgIHRoaXMuX3VwZGF0ZSgpO1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vdmUgZmllbGQgYGZuYW1lYCBiZWZvcmUgb3IgYWZ0ZXIgKGRlcGVuZGluZyBvbiBgcG9zaXRpb25gKSBmaWVsZCBgZGVzdGAuXG4gICAqXG4gICAqIEBwYXJhbSBmbmFtZSBmaWVsZCB0byBtb3ZlXG4gICAqIEBwYXJhbSBwb3NpdGlvbiAoXCJiZWZvcmVcIiBvciBcImFmdGVyXCIpXG4gICAqIEBwYXJhbSBkZXN0IHJlZmVyZW5jZSBmaWVsZFxuICAgKiBAcmV0dXJucyBjdXJyZW50IGVuYWJsZWQgZmllbGRzXG4gICAqL1xuICBwdWJsaWMgbW92ZShcbiAgICBmbmFtZTogc3RyaW5nLFxuICAgIHBvc2l0aW9uOiAnYmVmb3JlJyB8ICdhZnRlcicsXG4gICAgZGVzdDogc3RyaW5nID0gJydcbiAgKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGZ0YXJnZXQgPSB0aGlzLmdldChmbmFtZSk7XG4gICAgaWYgKGRlc3QgPT0gJycpIHtcbiAgICAgIGNvbnN0IHBvcyA9IHRoaXMuX2VuYWJsZWQuaW5kZXhPZihmbmFtZSk7XG4gICAgICBkZXN0ID0gdGhpcy5fZW5hYmxlZFtwb3MgKyAocG9zaXRpb24gPT09ICdiZWZvcmUnID8gLTEgOiArMSldO1xuICAgICAgaWYgKGRlc3QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZmRlc3QgPSB0aGlzLmdldChkZXN0KTtcbiAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcbiAgICBpZiAoIWZ0YXJnZXQgfHwgIWZkZXN0KSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdUYXJnZXQgLyBkZXN0IG5vdCBmb3VuZCcsIGZuYW1lLCBkZXN0KTtcbiAgICAgIHJldHVybiB0aGlzLl9lbmFibGVkO1xuICAgIH1cbiAgICBpZiAoZm5hbWUgPT0gZGVzdCkge1xuICAgICAgZnRhcmdldC5wb3NpdGlvbiA9IGZkZXN0LnBvc2l0aW9uICsgKHBvc2l0aW9uID09PSAnYmVmb3JlJyA/IC0xNSA6ICsxNSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZ0YXJnZXQucG9zaXRpb24gPSBmZGVzdC5wb3NpdGlvbiArIChwb3NpdGlvbiA9PT0gJ2JlZm9yZScgPyAtNSA6ICs1KTtcbiAgICB9XG5cbiAgICB0aGlzLl91cGRhdGUoKTtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBmaWVsZCB3aXRoIG5hbWUgYGZuYW1lYCBpcyBlbmFibGVkLlxuICAgKlxuICAgKiBAcGFyYW0gZm5hbWUgOiBuYW1lIG9mIGZpZWxkXG4gICAqIEByZXR1cm5zICBlbmFibGVkICh0cnVlKSBvciBkaXNhYmxlZCAoZmFsc2UpXG4gICAqL1xuICBwdWJsaWMgaXNFbmFibGVkKGZuYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZC5pbmRleE9mKGZuYW1lKSAhPT0gLTE7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkIGJ5IG5hbWVcbiAgICogQHBhcmFtIGZuYW1lIDogbmFtZSBvZiBmaWVsZFxuICAgKiBAcmV0dXJucyBNb2RlbCBsaXN0IGZpZWxkIG9yIG51bGwgaWYgbm90IGZvdW5kXG4gICAqL1xuICBwdWJsaWMgZ2V0KGZuYW1lOiBzdHJpbmcpOiBNb2RlbExpc3RGaWVsZCB8IG51bGwge1xuICAgIGZvciAoY29uc3QgZiBvZiB0aGlzLl9fZmllbGRzKSB7XG4gICAgICBpZiAoZi5uYW1lID09PSBmbmFtZSkge1xuICAgICAgICByZXR1cm4gZjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvKipcbiAgICogR2V0IGZpZWxkIGJ5IHBvc2l0aW9uXG4gICAqIEBwYXJhbSBwb3MgOiBwb3NpdGlvbiBvZiBmaWVsZFxuICAgKiBAcmV0dXJucyBNb2RlbCBsaXN0IGZpZWxkIG9yIG51bGwgaWYgbm90IGZvdW5kXG4gICAqL1xuICBwdWJsaWMgZ2V0QXRQb3MocG9zOiBudW1iZXIpOiBNb2RlbExpc3RGaWVsZCB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9fZmllbGRzW3Bvc10gfHwgbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgX3VwZGF0ZSgpIHtcbiAgICB0aGlzLl9fZmllbGRzLnNvcnQoKGEsIGIpID0+IGEucG9zaXRpb24gLSBiLnBvc2l0aW9uKTtcbiAgICBsZXQgaSA9IDA7XG4gICAgZm9yIChjb25zdCBmIG9mIHRoaXMuX19maWVsZHMpIHtcbiAgICAgIGYucG9zaXRpb24gPSBpICogMTA7XG4gICAgICBpICs9IDE7XG4gICAgfVxuICAgIGNvbnN0IG91dDogc3RyaW5nW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGYgb2YgdGhpcy5fX2ZpZWxkcykge1xuICAgICAgaWYgKGYuZW5hYmxlZCkge1xuICAgICAgICBvdXQucHVzaChmLm5hbWUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLl9lbmFibGVkID0gb3V0O1xuICAgIHRoaXMuX291dHB1dC5uZXh0KHRoaXMuX2VuYWJsZWQpO1xuICAgIHRoaXMuX2ZpZWxkcy5uZXh0KHRoaXMuX19maWVsZHMpO1xuICB9XG5cbiAgc2V0UG9zaXRpb24oZm5hbWU6IGFueSwgcG9zaXRpb246IG51bWJlcik6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBmID0gdGhpcy5nZXQoZm5hbWUpO1xuICAgIGlmIChmKSB7XG4gICAgICBmLnBvc2l0aW9uID0gcG9zaXRpb247XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZpZWxkIG5vdCBmb3VuZCcsIGYpO1xuICAgIH1cbiAgICB0aGlzLl91cGRhdGUoKTtcbiAgICByZXR1cm4gdGhpcy5fZW5hYmxlZDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
// FIXME: allow filter registering, thus making this static type impossible
|
|
2
|
+
export {};
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVydHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL2ZpbHRlcnR5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDJFQUEyRSIsInNvdXJjZXNDb250ZW50IjpbIi8vIEZJWE1FOiBhbGxvdyBmaWx0ZXIgcmVnaXN0ZXJpbmcsIHRodXMgbWFraW5nIHRoaXMgc3RhdGljIHR5cGUgaW1wb3NzaWJsZVxuXG5leHBvcnQgdHlwZSBGSUxURVJfVFlQRSA9XG4gIHwgJ2F1dG9jb21wbGV0ZSdcbiAgfCAnYXV0b2NvbXBsZXRlbXVsdGknXG4gIHwgJ2RhdGV0aW1lJ1xuICB8ICdkYXRldGltZXJhbmdlJ1xuICB8ICdmbGFncydcbiAgfCAnZ2VvZGlzdGFuY2UnXG4gIHwgJ251bWJlcidcbiAgfCAnc2VsZWN0J1xuICB8ICdzZWxlY3RtdWx0aSdcbiAgfCAndGV4dCdcbiAgfCAndHJlZSc7XG4iXX0=
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { debounceTime, distinctUntilChanged, Subject, takeUntil, } from 'rxjs';
|
|
3
|
+
import { ReactiveFormsModule, UntypedFormControl } from '@angular/forms';
|
|
4
|
+
import { switchMap } from 'rxjs/operators';
|
|
5
|
+
import { CommonModule } from '@angular/common';
|
|
6
|
+
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
10
|
+
import * as i3 from "@angular/forms";
|
|
11
|
+
export class ModelListAutocompleteFilterComponent {
|
|
12
|
+
constructor() {
|
|
13
|
+
this.classes = '';
|
|
14
|
+
this.fc = new UntypedFormControl();
|
|
15
|
+
this.search = this._search.bind(this);
|
|
16
|
+
this.display = this._display.bind(this);
|
|
17
|
+
this._subscription = new Subject();
|
|
18
|
+
}
|
|
19
|
+
ngOnInit() {
|
|
20
|
+
this._setDisplay();
|
|
21
|
+
this.filter.valueChanges.subscribe((val) => {
|
|
22
|
+
this.fc.setValue(val, { emitEvent: false });
|
|
23
|
+
});
|
|
24
|
+
this.fc.valueChanges.pipe(debounceTime(250)).subscribe((val) => {
|
|
25
|
+
if (this.filter.set(val, val)) {
|
|
26
|
+
this.list.filters.update();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
disable() {
|
|
31
|
+
this.filter.enabled = false;
|
|
32
|
+
this.list.filters.update();
|
|
33
|
+
}
|
|
34
|
+
ngOnDestroy() {
|
|
35
|
+
this._subscription.next();
|
|
36
|
+
this._subscription.complete();
|
|
37
|
+
}
|
|
38
|
+
scrollAction($event) {
|
|
39
|
+
if (!this.filter.scroll) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const elem = $event.currentTarget.nextElementSibling.getElementsByClassName('active')[0];
|
|
43
|
+
elem.scrollIntoView({ behavior: 'smooth', block: 'nearest' });
|
|
44
|
+
}
|
|
45
|
+
_setDisplay() {
|
|
46
|
+
if (this.filter.display) {
|
|
47
|
+
if (this.filter.display && typeof this.filter.display === 'string') {
|
|
48
|
+
this._tpl = (model) => `${model[this.filter.display]}`;
|
|
49
|
+
}
|
|
50
|
+
else if (this.filter.display &&
|
|
51
|
+
typeof this.filter.display === 'function') {
|
|
52
|
+
this._tpl = this.filter.display.bind(this);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
this._tpl = (model) => {
|
|
57
|
+
if (model._display) {
|
|
58
|
+
return model._display;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
return `${model['name'] ||
|
|
62
|
+
model['title'] ||
|
|
63
|
+
model['id']}`;
|
|
64
|
+
}
|
|
65
|
+
};
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Display function. Uses descfield or desc tpl (lodash template using model fields).
|
|
70
|
+
*/
|
|
71
|
+
_display(x) {
|
|
72
|
+
if (x) {
|
|
73
|
+
return this._tpl(x);
|
|
74
|
+
}
|
|
75
|
+
return '';
|
|
76
|
+
}
|
|
77
|
+
_search(text$) {
|
|
78
|
+
return text$.pipe(takeUntil(this._subscription), debounceTime(750), distinctUntilChanged(), switchMap((term) => {
|
|
79
|
+
const f = {};
|
|
80
|
+
for (const k of Object.keys(this.filter.filter)) {
|
|
81
|
+
if (this.filter.filter[k] !== null ||
|
|
82
|
+
this.filter.filter[k] !== undefined) {
|
|
83
|
+
f[k] = this.filter.filter[k];
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
f[this.filter.searchparam] = term;
|
|
87
|
+
this.filter.queryset?.filter(f);
|
|
88
|
+
return this.filter.queryset.get();
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
ModelListAutocompleteFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListAutocompleteFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
93
|
+
ModelListAutocompleteFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ModelListAutocompleteFilterComponent, isStandalone: true, selector: "data-model-list-autocomplete-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "showHint", "placement", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListAutocompleteFilterComponent, decorators: [{
|
|
95
|
+
type: Component,
|
|
96
|
+
args: [{ selector: 'data-model-list-autocomplete-filter', standalone: true, imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n</div>" }]
|
|
97
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
98
|
+
type: Input
|
|
99
|
+
}], filter: [{
|
|
100
|
+
type: Input
|
|
101
|
+
}], classes: [{
|
|
102
|
+
type: Input
|
|
103
|
+
}] } });
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBS3BFLE9BQU8sRUFDTCxZQUFZLEVBQ1osb0JBQW9CLEVBRXBCLE9BQU8sRUFDUCxTQUFTLEdBQ1YsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7OztBQVNoRSxNQUFNLE9BQU8sb0NBQW9DO0lBWS9DO1FBUGdCLFlBQU8sR0FBc0IsRUFBRSxDQUFDO1FBQ3pDLE9BQUUsR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDOUIsV0FBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUks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a0JBUGhELFNBQVM7K0JBQ0UscUNBQXFDLGNBR25DLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQzswRUFLaEQsSUFBSTtzQkFBbkIsS0FBSztnQkFDVSxNQUFNO3NCQUFyQixLQUFLO2dCQUNVLE9BQU87c0JBQXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlciB9IGZyb20gJy4vbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyJztcbmltcG9ydCB7IFRwbEZ1biB9IGZyb20gJy4uLy4uLy4uLy4uL2Rpc3BlZGl0L2Zrc2VsZWN0L2Zrc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtbW9kZWwnO1xuaW1wb3J0IHtcbiAgZGVib3VuY2VUaW1lLFxuICBkaXN0aW5jdFVudGlsQ2hhbmdlZCxcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ2JUeXBlYWhlYWRNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JUeXBlYWhlYWRNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXJDb21wb25lbnQ8VCBleHRlbmRzIERhdGFNb2RlbD5cbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveVxue1xuICBASW5wdXQoKSBwdWJsaWMgbGlzdCE6IE1vZGVsTGlzdDxhbnk+O1xuICBASW5wdXQoKSBwdWJsaWMgZmlsdGVyITogTW9kZWxMaXN0QXV0b2NvbXBsZXRlRmlsdGVyPFQ+O1xuICBASW5wdXQoKSBwdWJsaWMgY2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcbiAgcHVibGljIGZjID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgpO1xuICBwdWJsaWMgc2VhcmNoID0gdGhpcy5fc2VhcmNoLmJpbmQodGhpcyk7XG4gIHB1YmxpYyBkaXNwbGF5ID0gdGhpcy5fZGlzcGxheS5iaW5kKHRoaXMpO1xuICBwcml2YXRlIF90cGwhOiBUcGxGdW48VD47XG4gIHByaXZhdGUgX3N1YnNjcmlwdGlvbiA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zZXREaXNwbGF5KCk7XG4gICAgdGhpcy5maWx0ZXIudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICB0aGlzLmZjLnNldFZhbHVlKHZhbCwgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xuICAgIH0pO1xuICAgIHRoaXMuZmMudmFsdWVDaGFuZ2VzLnBpcGUoZGVib3VuY2VUaW1lKDI1MCkpLnN1YnNjcmliZSgodmFsKSA9PiB7XG4gICAgICBpZiAodGhpcy5maWx0ZXIuc2V0KHZhbCwgdmFsKSkge1xuICAgICAgICB0aGlzLmxpc3QuZmlsdGVycy51cGRhdGUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBkaXNhYmxlKCkge1xuICAgIHRoaXMuZmlsdGVyLmVuYWJsZWQgPSBmYWxzZTtcbiAgICB0aGlzLmxpc3QuZmlsdGVycy51cGRhdGUoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWJzY3JpcHRpb24ubmV4dCgpO1xuICAgIHRoaXMuX3N1YnNjcmlwdGlvbi5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNjcm9sbEFjdGlvbigkZXZlbnQ6IGFueSkge1xuICAgIGlmICghdGhpcy5maWx0ZXIuc2Nyb2xsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGVsZW0gPVxuICAgICAgJGV2ZW50LmN1cnJlbnRUYXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXG4gICAgICAgICdhY3RpdmUnXG4gICAgICApWzBdO1xuICAgIGVsZW0uc2Nyb2xsSW50b1ZpZXcoeyBiZWhhdmlvcjogJ3Ntb290aCcsIGJsb2NrOiAnbmVhcmVzdCcgfSk7XG4gIH1cblxuICBwcml2YXRlIF9zZXREaXNwbGF5KCkge1xuICAgIGlmICh0aGlzLmZpbHRlci5kaXNwbGF5KSB7XG4gICAgICBpZiAodGhpcy5maWx0ZXIuZGlzcGxheSAmJiB0eXBlb2YgdGhpcy5maWx0ZXIuZGlzcGxheSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpcy5fdHBsID0gKG1vZGVsOiBUKSA9PlxuICAgICAgICAgIGAkeyhtb2RlbCBhcyBhbnkpW3RoaXMuZmlsdGVyLmRpc3BsYXkgYXMgc3RyaW5nXX1gO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5maWx0ZXIuZGlzcGxheSAmJlxuICAgICAgICB0eXBlb2YgdGhpcy5maWx0ZXIuZGlzcGxheSA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgKSB7XG4gICAgICAgIHRoaXMuX3RwbCA9IHRoaXMuZmlsdGVyLmRpc3BsYXkuYmluZCh0aGlzKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fdHBsID0gKG1vZGVsOiBUKSA9PiB7XG4gICAgICAgIGlmICgobW9kZWwgYXMgYW55KS5fZGlzcGxheSkge1xuICAgICAgICAgIHJldHVybiAobW9kZWwgYXMgYW55KS5fZGlzcGxheTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCR7XG4gICAgICAgICAgICAobW9kZWwgYXMgYW55KVsnbmFtZSddIHx8XG4gICAgICAgICAgICAobW9kZWwgYXMgYW55KVsndGl0bGUnXSB8fFxuICAgICAgICAgICAgKG1vZGVsIGFzIGFueSlbJ2lkJ11cbiAgICAgICAgICB9YDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheSBmdW5jdGlvbi4gVXNlcyBkZXNjZmllbGQgb3IgZGVzYyB0cGwgKGxvZGFzaCB0ZW1wbGF0ZSB1c2luZyBtb2RlbCBmaWVsZHMpLlxuICAgKi9cbiAgcHJpdmF0ZSBfZGlzcGxheSh4OiBhbnkpOiBhbnkge1xuICAgIGlmICh4KSB7XG4gICAgICByZXR1cm4gdGhpcy5fdHBsKHgpO1xuICAgIH1cbiAgICByZXR1cm4gJyc7XG4gIH1cblxuICBwcml2YXRlIF9zZWFyY2godGV4dCQ6IE9ic2VydmFibGU8c3RyaW5nPik6IE9ic2VydmFibGU8VFtdPiB7XG4gICAgcmV0dXJuIHRleHQkLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5fc3Vic2NyaXB0aW9uKSxcbiAgICAgIGRlYm91bmNlVGltZSg3NTApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgIHN3aXRjaE1hcCgodGVybSkgPT4ge1xuICAgICAgICBjb25zdCBmOiBhbnkgPSB7fTtcbiAgICAgICAgZm9yIChjb25zdCBrIG9mIE9iamVjdC5rZXlzKHRoaXMuZmlsdGVyLmZpbHRlcikpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmZpbHRlci5maWx0ZXJba10gIT09IG51bGwgfHxcbiAgICAgICAgICAgIHRoaXMuZmlsdGVyLmZpbHRlcltrXSAhPT0gdW5kZWZpbmVkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBmW2tdID0gdGhpcy5maWx0ZXIuZmlsdGVyW2tdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmW3RoaXMuZmlsdGVyLnNlYXJjaHBhcmFtXSA9IHRlcm07XG4gICAgICAgIHRoaXMuZmlsdGVyLnF1ZXJ5c2V0Py5maWx0ZXIoZik7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbHRlci5xdWVyeXNldC5nZXQoKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxufVxuIiwiXG48ZGl2IGNsYXNzPVwiZmlsdGVyaXRlbVwiIFtuZ0NsYXNzXT1cImZpbHRlci5kaXNwbGF5Q2xhc3NlcyB8fCBjbGFzc2VzXCI+XG4gIDxkaXYgY2xhc3M9XCJ0cmFzaCBmbG9hdC1lbmRcIiAoY2xpY2spPVwiZGlzYWJsZSgpXCI+PGkgY2xhc3M9XCJiaSBiaS10cmFzaFwiPjwvaT48L2Rpdj5cbiAgPGxhYmVsPnt7ZmlsdGVyLmxhYmVsfX08L2xhYmVsPlxuICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBbZm9ybUNvbnRyb2xdPVwiZmNcIiBbbmdiVHlwZWFoZWFkXT1cInNlYXJjaFwiIFtlZGl0YWJsZV09XCJmYWxzZVwiIFtmb2N1c0ZpcnN0XT1cInRydWVcIiBbaW5wdXRGb3JtYXR0ZXJdPVwiZGlzcGxheVwiIFtyZXN1bHRGb3JtYXR0ZXJdPVwiZGlzcGxheVwiIFtwbGFjZWhvbGRlcl09XCJmaWx0ZXIuaGVscFwiIChrZXl1cC5hcnJvd0Rvd24pPVwic2Nyb2xsQWN0aW9uKCRldmVudClcIiAoa2V5dXAuYXJyb3dVcCk9XCJzY3JvbGxBY3Rpb24oJGV2ZW50KVwiICN0aD1cIm5nYlR5cGVhaGVhZFwiIFtjbGFzcy50YXNjcm9sbF09XCJmaWx0ZXIuc2Nyb2xsXCI+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ModelListFilter, } from '../../model-list-filter';
|
|
2
|
+
export class ModelListAutocompleteFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = 'autocomplete';
|
|
6
|
+
this.display = params.display;
|
|
7
|
+
this.searchparam = params.searchparam ? params.searchparam : 'search';
|
|
8
|
+
if (!params.collection && !params.queryset) {
|
|
9
|
+
throw 'Missing related data (collection or queryset)';
|
|
10
|
+
}
|
|
11
|
+
this.collection = params.collection;
|
|
12
|
+
if (params.collection && !params.queryset) {
|
|
13
|
+
this.queryset = params.collection.queryset();
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
this.queryset = params.queryset;
|
|
17
|
+
}
|
|
18
|
+
this.scroll = params.scroll !== undefined ? params.scroll : true;
|
|
19
|
+
this.filter = params.filter || {};
|
|
20
|
+
if (this.label == '') {
|
|
21
|
+
this.label = 'Sélectionnez par texte';
|
|
22
|
+
}
|
|
23
|
+
if (this.help == '') {
|
|
24
|
+
this.help = 'Recherche par texte';
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
getValue() {
|
|
28
|
+
return `${this.value?.id}`;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxlQUFlLEdBRWhCLE1BQU0seUJBQXlCLENBQUM7QUFnQmpDLE1BQU0sT0FBTywyQkFDWCxTQUFRLGVBQWU7SUFXdkIsWUFBWSxNQUFzQztRQUNoRCxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztRQUMzQixJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7UUFDdEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFO1lBQzFDLE1BQU0sK0NBQStDLENBQUM7U0FDdkQ7UUFDRCxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDcEMsSUFBSSxNQUFNLENBQUMsVUFBVSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDOUM7YUFBTTtZQUNMLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLFFBQXVCLENBQUM7U0FDaEQ7UUFDRCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDakUsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQztRQUVsQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsd0JBQXdCLENBQUM7U0FDdkM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcscUJBQXFCLENBQUM7U0FDbkM7SUFDSCxDQUFDO0lBRWUsUUFBUTtRQUN0QixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQztJQUM3QixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbExpc3RGaWx0ZXIsXG4gIE1vZGVsTGlzdEZpbHRlclBhcmFtcyxcbn0gZnJvbSAnLi4vLi4vbW9kZWwtbGlzdC1maWx0ZXInO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7IENvbGxlY3Rpb24gfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtY29sbGVjdGlvbic7XG5pbXBvcnQgeyBGaWx0ZXJEYXRhLCBRdWVyeXNldCB9IGZyb20gJy4uLy4uLy4uLy4uL2RhdGEvZGF0YS1xdWVyeSc7XG5pbXBvcnQgeyBUcGxGdW4gfSBmcm9tICcuLi8uLi8uLi8uLi9kaXNwZWRpdC9ma3NlbGVjdC9ma3NlbGVjdC5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtczxUIGV4dGVuZHMgRGF0YU1vZGVsPlxuICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlclBhcmFtcyB7XG4gIGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uPFQ+O1xuICBxdWVyeXNldD86IFF1ZXJ5c2V0PFQ+O1xuICBzZWFyY2hwYXJhbT86IHN0cmluZztcbiAgZGlzcGxheT86IHN0cmluZyB8IFRwbEZ1bjxUPjtcbiAgZmlsdGVyPzogRmlsdGVyRGF0YTtcbiAgc2Nyb2xsPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlcjxUIGV4dGVuZHMgRGF0YU1vZGVsPlxuICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlclxuICBpbXBsZW1lbnRzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtczxUPlxue1xuICBwdWJsaWMgZGlzcGxheT86IHN0cmluZyB8IFRwbEZ1bjxUPjtcbiAgcHVibGljIHNlYXJjaHBhcmFtITogc3RyaW5nO1xuICBwdWJsaWMgcXVlcnlzZXQhOiBRdWVyeXNldDxUPjtcbiAgcHVibGljIGNvbGxlY3Rpb24/OiBDb2xsZWN0aW9uPFQ+O1xuICBwdWJsaWMgZmlsdGVyITogRmlsdGVyRGF0YTtcbiAgcHVibGljIHNjcm9sbCE6IGJvb2xlYW47XG4gIHB1YmxpYyBvdmVycmlkZSB2YWx1ZT86IFQ7XG5cbiAgY29uc3RydWN0b3IocGFyYW1zOiBNb2RlbExpc3RBdXRvY29tcGxldGVQYXJhbXM8VD4pIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMudHlwZSA9ICdhdXRvY29tcGxldGUnO1xuICAgIHRoaXMuZGlzcGxheSA9IHBhcmFtcy5kaXNwbGF5O1xuICAgIHRoaXMuc2VhcmNocGFyYW0gPSBwYXJhbXMuc2VhcmNocGFyYW0gPyBwYXJhbXMuc2VhcmNocGFyYW0gOiAnc2VhcmNoJztcbiAgICBpZiAoIXBhcmFtcy5jb2xsZWN0aW9uICYmICFwYXJhbXMucXVlcnlzZXQpIHtcbiAgICAgIHRocm93ICdNaXNzaW5nIHJlbGF0ZWQgZGF0YSAoY29sbGVjdGlvbiBvciBxdWVyeXNldCknO1xuICAgIH1cbiAgICB0aGlzLmNvbGxlY3Rpb24gPSBwYXJhbXMuY29sbGVjdGlvbjtcbiAgICBpZiAocGFyYW1zLmNvbGxlY3Rpb24gJiYgIXBhcmFtcy5xdWVyeXNldCkge1xuICAgICAgdGhpcy5xdWVyeXNldCA9IHBhcmFtcy5jb2xsZWN0aW9uLnF1ZXJ5c2V0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucXVlcnlzZXQgPSBwYXJhbXMucXVlcnlzZXQgYXMgUXVlcnlzZXQ8VD47XG4gICAgfVxuICAgIHRoaXMuc2Nyb2xsID0gcGFyYW1zLnNjcm9sbCAhPT0gdW5kZWZpbmVkID8gcGFyYW1zLnNjcm9sbCA6IHRydWU7XG4gICAgdGhpcy5maWx0ZXIgPSBwYXJhbXMuZmlsdGVyIHx8IHt9O1xuXG4gICAgaWYgKHRoaXMubGFiZWwgPT0gJycpIHtcbiAgICAgIHRoaXMubGFiZWwgPSAnU8OpbGVjdGlvbm5leiBwYXIgdGV4dGUnO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09ICcnKSB7XG4gICAgICB0aGlzLmhlbHAgPSAnUmVjaGVyY2hlIHBhciB0ZXh0ZSc7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldFZhbHVlKCk6IHN0cmluZyB8IG51bWJlciB7XG4gICAgcmV0dXJuIGAke3RoaXMudmFsdWU/LmlkfWA7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { ModelListAutocompleteFilterComponent } from '../model-list-autocomplete-filter/model-list-autocomplete-filter.component';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';
|
|
5
|
+
import { ReactiveFormsModule } from '@angular/forms';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
9
|
+
import * as i3 from "@angular/forms";
|
|
10
|
+
export class ModelListAutocompleteMultiFilterComponent extends ModelListAutocompleteFilterComponent {
|
|
11
|
+
unsetValue(value) {
|
|
12
|
+
if (this.filter.unset(value)) {
|
|
13
|
+
this.list.filters.update();
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
ModelListAutocompleteMultiFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListAutocompleteMultiFilterComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
+
ModelListAutocompleteMultiFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ModelListAutocompleteMultiFilterComponent, isStandalone: true, selector: "data-model-list-autocomplete-multi-filter", inputs: { filter: "filter" }, usesInheritance: true, ngImport: i0, template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n <div class=\"mt-1\" *ngIf=\"filter.values.length\">\n <div *ngFor=\"let v of filter.values\" role=\"button\" (click)=\"unsetValue(v.value)\"><i class=\"bi bi-trash me-2\"></i>{{display(v.value)}}</div>\n </div>\n</div>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgbTypeaheadModule }, { kind: "directive", type: i2.NgbTypeahead, selector: "input[ngbTypeahead]", inputs: ["autocomplete", "container", "editable", "focusFirst", "inputFormatter", "ngbTypeahead", "resultFormatter", "resultTemplate", "showHint", "placement", "popupClass"], outputs: ["selectItem"], exportAs: ["ngbTypeahead"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListAutocompleteMultiFilterComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'data-model-list-autocomplete-multi-filter', standalone: true, imports: [CommonModule, NgbTypeaheadModule, ReactiveFormsModule], template: "\n<div class=\"filteritem\" [ngClass]=\"filter.displayClasses || classes\">\n <div class=\"trash float-end\" (click)=\"disable()\"><i class=\"bi bi-trash\"></i></div>\n <label>{{filter.label}}</label>\n <input class=\"form-control\" [formControl]=\"fc\" [ngbTypeahead]=\"search\" [editable]=\"false\" [focusFirst]=\"true\" [inputFormatter]=\"display\" [resultFormatter]=\"display\" [placeholder]=\"filter.help\" (keyup.arrowDown)=\"scrollAction($event)\" (keyup.arrowUp)=\"scrollAction($event)\" #th=\"ngbTypeahead\" [class.tascroll]=\"filter.scroll\">\n <div class=\"mt-1\" *ngIf=\"filter.values.length\">\n <div *ngFor=\"let v of filter.values\" role=\"button\" (click)=\"unsetValue(v.value)\"><i class=\"bi bi-trash me-2\"></i>{{display(v.value)}}</div>\n </div>\n</div>" }]
|
|
22
|
+
}], propDecorators: { filter: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHakQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sNEVBQTRFLENBQUM7QUFDbEksT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7OztBQVNyRCxNQUFNLE9BQU8seUNBRVgsU0FBUSxvQ0FBdUM7SUFHeEMsVUFBVSxDQUFDLEtBQVE7UUFDeEIsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7O3NJQVRVLHlDQUF5QzswSEFBekMseUNBQXlDLDBKQ2Z0RCwrd0JBUU0seURES00sWUFBWSw2VkFBRSxrQkFBa0IsaVZBQUUsbUJBQW1COzJGQUVwRCx5Q0FBeUM7a0JBUHJELFNBQVM7K0JBQ0UsMkNBQTJDLGNBR3pDLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsQ0FBQzs4QkFLdkMsTUFBTTtzQkFBOUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXInO1xuaW1wb3J0IHsgRGF0YU1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vLi4vZGF0YS9kYXRhLW1vZGVsJztcbmltcG9ydCB7IE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlckNvbXBvbmVudCB9IGZyb20gJy4uL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlci9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1maWx0ZXIuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ2JUeXBlYWhlYWRNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLW11bHRpLWZpbHRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgTmdiVHlwZWFoZWFkTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0QXV0b2NvbXBsZXRlTXVsdGlGaWx0ZXJDb21wb25lbnQ8XG4gIFQgZXh0ZW5kcyBEYXRhTW9kZWxcbj4gZXh0ZW5kcyBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXJDb21wb25lbnQ8VD4ge1xuICBASW5wdXQoKSBwdWJsaWMgb3ZlcnJpZGUgZmlsdGVyITogTW9kZWxMaXN0QXV0b2NvbXBsZXRlTXVsdGlGaWx0ZXI8VD47XG5cbiAgcHVibGljIHVuc2V0VmFsdWUodmFsdWU6IFQpIHtcbiAgICBpZiAodGhpcy5maWx0ZXIudW5zZXQodmFsdWUpKSB7XG4gICAgICB0aGlzLmxpc3QuZmlsdGVycy51cGRhdGUoKTtcbiAgICB9XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImZpbHRlcml0ZW1cIiBbbmdDbGFzc109XCJmaWx0ZXIuZGlzcGxheUNsYXNzZXMgfHwgY2xhc3Nlc1wiPlxuICA8ZGl2IGNsYXNzPVwidHJhc2ggZmxvYXQtZW5kXCIgKGNsaWNrKT1cImRpc2FibGUoKVwiPjxpIGNsYXNzPVwiYmkgYmktdHJhc2hcIj48L2k+PC9kaXY+XG4gIDxsYWJlbD57e2ZpbHRlci5sYWJlbH19PC9sYWJlbD5cbiAgPGlucHV0IGNsYXNzPVwiZm9ybS1jb250cm9sXCIgW2Zvcm1Db250cm9sXT1cImZjXCIgW25nYlR5cGVhaGVhZF09XCJzZWFyY2hcIiBbZWRpdGFibGVdPVwiZmFsc2VcIiBbZm9jdXNGaXJzdF09XCJ0cnVlXCIgW2lucHV0Rm9ybWF0dGVyXT1cImRpc3BsYXlcIiBbcmVzdWx0Rm9ybWF0dGVyXT1cImRpc3BsYXlcIiBbcGxhY2Vob2xkZXJdPVwiZmlsdGVyLmhlbHBcIiAoa2V5dXAuYXJyb3dEb3duKT1cInNjcm9sbEFjdGlvbigkZXZlbnQpXCIgKGtleXVwLmFycm93VXApPVwic2Nyb2xsQWN0aW9uKCRldmVudClcIiAjdGg9XCJuZ2JUeXBlYWhlYWRcIiBbY2xhc3MudGFzY3JvbGxdPVwiZmlsdGVyLnNjcm9sbFwiPlxuICA8ZGl2IGNsYXNzPVwibXQtMVwiICpuZ0lmPVwiZmlsdGVyLnZhbHVlcy5sZW5ndGhcIj5cbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB2IG9mIGZpbHRlci52YWx1ZXNcIiByb2xlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInVuc2V0VmFsdWUodi52YWx1ZSlcIj48aSBjbGFzcz1cImJpIGJpLXRyYXNoIG1lLTJcIj48L2k+e3tkaXNwbGF5KHYudmFsdWUpfX08L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ModelListAutocompleteFilter, } from '../model-list-autocomplete-filter/model-list-autocomplete-filter';
|
|
2
|
+
export class ModelListAutocompleteMultiFilter extends ModelListAutocompleteFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.values = [];
|
|
6
|
+
this.type = 'autocompletemulti';
|
|
7
|
+
}
|
|
8
|
+
set(value, desc, notify = false) {
|
|
9
|
+
const res = super.set(value, desc, false);
|
|
10
|
+
if (res && this.value && this._getValuePos(this.value) === -1) {
|
|
11
|
+
this.values.push({ value: this.value, desc: this.desc });
|
|
12
|
+
}
|
|
13
|
+
return res;
|
|
14
|
+
}
|
|
15
|
+
unset(value) {
|
|
16
|
+
const found = this._getValuePos(value);
|
|
17
|
+
if (found !== -1) {
|
|
18
|
+
this.values.splice(found, 1);
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
getValue() {
|
|
24
|
+
const ids = [];
|
|
25
|
+
for (const vl of this.values) {
|
|
26
|
+
ids.push(vl.value.id);
|
|
27
|
+
}
|
|
28
|
+
return ids.join(',');
|
|
29
|
+
}
|
|
30
|
+
_getValuePos(value) {
|
|
31
|
+
let found = -1;
|
|
32
|
+
for (let i = 0; i < this.values.length; i++) {
|
|
33
|
+
if (this.values[i].value.id === value.id) {
|
|
34
|
+
found = i;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
return found;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWF1dG9jb21wbGV0ZS1tdWx0aS1maWx0ZXIvbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtbXVsdGktZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCwyQkFBMkIsR0FFNUIsTUFBTSxrRUFBa0UsQ0FBQztBQU0xRSxNQUFNLE9BQU8sZ0NBRVgsU0FBUSwyQkFBOEI7SUFHdEMsWUFBWSxNQUEyQztRQUNyRCxLQUFLLENBQUMsTUFBd0MsQ0FBQyxDQUFDO1FBSDNDLFdBQU0sR0FBaUMsRUFBRSxDQUFDO1FBSS9DLElBQUksQ0FBQyxJQUFJLEdBQUcsbUJBQW1CLENBQUM7SUFDbEMsQ0FBQztJQUVlLEdBQUcsQ0FBQyxLQUFVLEVBQUUsSUFBWSxFQUFFLE1BQU0sR0FBRyxLQUFLO1FBQzFELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMxQyxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFO1lBQzdELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQzFEO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRU0sS0FBSyxDQUFDLEtBQVE7UUFDbkIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsRUFBRTtZQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVlLFFBQVE7UUFDdEIsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLEtBQUssTUFBTSxFQUFFLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUM1QixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7U0FDdkI7UUFDRCxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVPLFlBQVksQ0FBQyxLQUFRO1FBQzNCLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2YsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hDLEtBQUssR0FBRyxDQUFDLENBQUM7YUFDWDtTQUNGO1FBQ0QsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBNb2RlbExpc3RBdXRvY29tcGxldGVGaWx0ZXIsXG4gIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtcyxcbn0gZnJvbSAnLi4vbW9kZWwtbGlzdC1hdXRvY29tcGxldGUtZmlsdGVyL21vZGVsLWxpc3QtYXV0b2NvbXBsZXRlLWZpbHRlcic7XG5pbXBvcnQgeyBEYXRhTW9kZWwgfSBmcm9tICcuLi8uLi8uLi8uLi9kYXRhL2RhdGEtbW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpUGFyYW1zPFQgZXh0ZW5kcyBEYXRhTW9kZWw+XG4gIGV4dGVuZHMgTW9kZWxMaXN0QXV0b2NvbXBsZXRlUGFyYW1zPFQ+IHt9XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3RBdXRvY29tcGxldGVNdWx0aUZpbHRlcjxcbiAgVCBleHRlbmRzIERhdGFNb2RlbFxuPiBleHRlbmRzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZUZpbHRlcjxUPiB7XG4gIHB1YmxpYyB2YWx1ZXM6IHsgdmFsdWU6IFQ7IGRlc2M6IHN0cmluZyB9W10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihwYXJhbXM6IE1vZGVsTGlzdEF1dG9jb21wbGV0ZU11bHRpUGFyYW1zPFQ+KSB7XG4gICAgc3VwZXIocGFyYW1zIGFzIE1vZGVsTGlzdEF1dG9jb21wbGV0ZVBhcmFtczxUPik7XG4gICAgdGhpcy50eXBlID0gJ2F1dG9jb21wbGV0ZW11bHRpJztcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZXQodmFsdWU6IGFueSwgZGVzYzogc3RyaW5nLCBub3RpZnkgPSBmYWxzZSk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHJlcyA9IHN1cGVyLnNldCh2YWx1ZSwgZGVzYywgZmFsc2UpO1xuICAgIGlmIChyZXMgJiYgdGhpcy52YWx1ZSAmJiB0aGlzLl9nZXRWYWx1ZVBvcyh0aGlzLnZhbHVlKSA9PT0gLTEpIHtcbiAgICAgIHRoaXMudmFsdWVzLnB1c2goeyB2YWx1ZTogdGhpcy52YWx1ZSwgZGVzYzogdGhpcy5kZXNjIH0pO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xuICB9XG5cbiAgcHVibGljIHVuc2V0KHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZm91bmQgPSB0aGlzLl9nZXRWYWx1ZVBvcyh2YWx1ZSk7XG4gICAgaWYgKGZvdW5kICE9PSAtMSkge1xuICAgICAgdGhpcy52YWx1ZXMuc3BsaWNlKGZvdW5kLCAxKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0VmFsdWUoKTogc3RyaW5nIHwgbnVtYmVyIHtcbiAgICBjb25zdCBpZHM6IG51bWJlcltdID0gW107XG4gICAgZm9yIChjb25zdCB2bCBvZiB0aGlzLnZhbHVlcykge1xuICAgICAgaWRzLnB1c2godmwudmFsdWUuaWQpO1xuICAgIH1cbiAgICByZXR1cm4gaWRzLmpvaW4oJywnKTtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZhbHVlUG9zKHZhbHVlOiBUKTogbnVtYmVyIHtcbiAgICBsZXQgZm91bmQgPSAtMTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudmFsdWVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAodGhpcy52YWx1ZXNbaV0udmFsdWUuaWQgPT09IHZhbHVlLmlkKSB7XG4gICAgICAgIGZvdW5kID0gaTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZvdW5kO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModelListDatetimeFilterComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.classes = '';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ModelListDatetimeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListDatetimeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
ModelListDatetimeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ModelListDatetimeFilterComponent, isStandalone: true, selector: "data-model-list-datetime-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "<p>model-list-datetime-filter works!</p>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListDatetimeFilterComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'data-model-list-datetime-filter', standalone: true, imports: [CommonModule], template: "<p>model-list-datetime-filter works!</p>" }]
|
|
14
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], filter: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], classes: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBR2pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7QUFTL0MsTUFBTSxPQUFPLGdDQUFnQztJQUszQztRQUZnQixZQUFPLEdBQXNCLEVBQUUsQ0FBQztJQUVqQyxDQUFDOzs2SEFMTCxnQ0FBZ0M7aUhBQWhDLGdDQUFnQywySkNaN0MsMENBQXdDLHlERFU1QixZQUFZOzJGQUVYLGdDQUFnQztrQkFQNUMsU0FBUzsrQkFDRSxpQ0FBaUMsY0FHL0IsSUFBSSxXQUNQLENBQUMsWUFBWSxDQUFDOzBFQUdQLElBQUk7c0JBQW5CLEtBQUs7Z0JBQ1UsTUFBTTtzQkFBckIsS0FBSztnQkFDVSxPQUFPO3NCQUF0QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTW9kZWxMaXN0IH0gZnJvbSAnLi4vLi4vLi4vbW9kZWwtbGlzdC5zZXJ2aWNlJztcbmltcG9ydCB7IE1vZGVsTGlzdERhdGV0aW1lRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlcic7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYXRhLW1vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuY29tcG9uZW50LnNhc3MnXSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdERhdGV0aW1lRmlsdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgcHVibGljIGxpc3QhOiBNb2RlbExpc3Q8YW55PjtcbiAgQElucHV0KCkgcHVibGljIGZpbHRlciE6IE1vZGVsTGlzdERhdGV0aW1lRmlsdGVyO1xuICBASW5wdXQoKSBwdWJsaWMgY2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8cD5tb2RlbC1saXN0LWRhdGV0aW1lLWZpbHRlciB3b3JrcyE8L3A+Il19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelListFilter } from "../../model-list-filter";
|
|
2
|
+
export class ModelListDatetimeFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = "datetime";
|
|
6
|
+
if (this.label == "") {
|
|
7
|
+
this.label = "Sélectionnez par date/heure";
|
|
8
|
+
}
|
|
9
|
+
if (this.help == "") {
|
|
10
|
+
this.help = "Date/heure cible";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZS1maWx0ZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhL3NyYy9saWIvbW9kZWxsaXN0L21vZGVsLWxpc3QtZmlsdGVycy9maWx0ZXJzL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyL21vZGVsLWxpc3QtZGF0ZXRpbWUtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXdCLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsTUFBTSxPQUFPLHVCQUF5QixTQUFRLGVBQWU7SUFDM0QsWUFBWSxNQUE2QjtRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLFVBQVUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsNkJBQTZCLENBQUM7U0FDNUM7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsa0JBQWtCLENBQUM7U0FDaEM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsTGlzdEZpbHRlciwgTW9kZWxMaXN0RmlsdGVyUGFyYW1zfSBmcm9tIFwiLi4vLi4vbW9kZWwtbGlzdC1maWx0ZXJcIjtcblxuZXhwb3J0IGNsYXNzIE1vZGVsTGlzdERhdGV0aW1lRmlsdGVyICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlciB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kZWxMaXN0RmlsdGVyUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLnR5cGUgPSBcImRhdGV0aW1lXCI7XG4gICAgaWYgKHRoaXMubGFiZWwgPT0gXCJcIikge1xuICAgICAgdGhpcy5sYWJlbCA9IFwiU8OpbGVjdGlvbm5leiBwYXIgZGF0ZS9oZXVyZVwiO1xuICAgIH1cbiAgICBpZiAodGhpcy5oZWxwID09IFwiXCIpIHtcbiAgICAgIHRoaXMuaGVscCA9IFwiRGF0ZS9oZXVyZSBjaWJsZVwiO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ModelListDatetimeRangeFilterComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.classes = '';
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
ModelListDatetimeRangeFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListDatetimeRangeFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
10
|
+
ModelListDatetimeRangeFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.0", type: ModelListDatetimeRangeFilterComponent, isStandalone: true, selector: "data-model-list-datetime-range-filter", inputs: { list: "list", filter: "filter", classes: "classes" }, ngImport: i0, template: "<p>model-list-datetime-range-filter works!</p>", styles: [""], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.0", ngImport: i0, type: ModelListDatetimeRangeFilterComponent, decorators: [{
|
|
12
|
+
type: Component,
|
|
13
|
+
args: [{ selector: 'data-model-list-datetime-range-filter', standalone: true, imports: [CommonModule], template: "<p>model-list-datetime-range-filter works!</p>" }]
|
|
14
|
+
}], ctorParameters: function () { return []; }, propDecorators: { list: [{
|
|
15
|
+
type: Input
|
|
16
|
+
}], filter: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], classes: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}] } });
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS9zcmMvbGliL21vZGVsbGlzdC9tb2RlbC1saXN0LWZpbHRlcnMvZmlsdGVycy9tb2RlbC1saXN0LWRhdGV0aW1lcmFuZ2UtZmlsdGVyL21vZGVsLWxpc3QtZGF0ZXRpbWUtcmFuZ2UtZmlsdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRldGltZXJhbmdlLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUdqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBUy9DLE1BQU0sT0FBTyxxQ0FBcUM7SUFLaEQ7UUFGZ0IsWUFBTyxHQUFzQixFQUFFLENBQUM7SUFFakMsQ0FBQzs7a0lBTEwscUNBQXFDO3NIQUFyQyxxQ0FBcUMsaUtDWmxELGdEQUE4Qyx5RERVbEMsWUFBWTsyRkFFWCxxQ0FBcUM7a0JBUGpELFNBQVM7K0JBQ0UsdUNBQXVDLGNBR3JDLElBQUksV0FDUCxDQUFDLFlBQVksQ0FBQzswRUFHUCxJQUFJO3NCQUFuQixLQUFLO2dCQUNVLE1BQU07c0JBQXJCLEtBQUs7Z0JBQ1UsT0FBTztzQkFBdEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1vZGVsTGlzdCB9IGZyb20gJy4uLy4uLy4uL21vZGVsLWxpc3Quc2VydmljZSc7XG5pbXBvcnQgeyBNb2RlbExpc3REYXRldGltZXJhbmdlRmlsdGVyIH0gZnJvbSAnLi9tb2RlbC1saXN0LWRhdGV0aW1lcmFuZ2UtZmlsdGVyJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RhdGEtbW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vbW9kZWwtbGlzdC1kYXRldGltZS1yYW5nZS1maWx0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlci5jb21wb25lbnQuc2FzcyddLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kZWxMaXN0RGF0ZXRpbWVSYW5nZUZpbHRlckNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBsaXN0ITogTW9kZWxMaXN0PGFueT47XG4gIEBJbnB1dCgpIHB1YmxpYyBmaWx0ZXIhOiBNb2RlbExpc3REYXRldGltZXJhbmdlRmlsdGVyO1xuICBASW5wdXQoKSBwdWJsaWMgY2xhc3Nlczogc3RyaW5nW10gfCBzdHJpbmcgPSAnJztcblxuICBjb25zdHJ1Y3RvcigpIHt9XG59XG4iLCI8cD5tb2RlbC1saXN0LWRhdGV0aW1lLXJhbmdlLWZpbHRlciB3b3JrcyE8L3A+Il19
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ModelListFilter } from "../../model-list-filter";
|
|
2
|
+
export class ModelListDatetimerangeFilter extends ModelListFilter {
|
|
3
|
+
constructor(params) {
|
|
4
|
+
super(params);
|
|
5
|
+
this.type = "datetimerange";
|
|
6
|
+
if (this.label == "") {
|
|
7
|
+
this.label = "Sélectionnez par intervalle de date/heure";
|
|
8
|
+
}
|
|
9
|
+
if (this.help == "") {
|
|
10
|
+
this.help = "Date/heure";
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbGlzdC1kYXRldGltZXJhbmdlLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEvc3JjL2xpYi9tb2RlbGxpc3QvbW9kZWwtbGlzdC1maWx0ZXJzL2ZpbHRlcnMvbW9kZWwtbGlzdC1kYXRldGltZXJhbmdlLWZpbHRlci9tb2RlbC1saXN0LWRhdGV0aW1lcmFuZ2UtZmlsdGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQXdCLE1BQU0seUJBQXlCLENBQUM7QUFFL0UsTUFBTSxPQUFPLDRCQUE4QixTQUFRLGVBQWU7SUFDaEUsWUFBWSxNQUE2QjtRQUN2QyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUM1QixJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksRUFBRSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLEdBQUcsMkNBQTJDLENBQUM7U0FDMUQ7UUFDRCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksRUFBRSxFQUFFO1lBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbExpc3RGaWx0ZXIsIE1vZGVsTGlzdEZpbHRlclBhcmFtc30gZnJvbSBcIi4uLy4uL21vZGVsLWxpc3QtZmlsdGVyXCI7XG5cbmV4cG9ydCBjbGFzcyBNb2RlbExpc3REYXRldGltZXJhbmdlRmlsdGVyICBleHRlbmRzIE1vZGVsTGlzdEZpbHRlciB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtczogTW9kZWxMaXN0RmlsdGVyUGFyYW1zKSB7XG4gICAgc3VwZXIocGFyYW1zKTtcbiAgICB0aGlzLnR5cGUgPSBcImRhdGV0aW1lcmFuZ2VcIjtcbiAgICBpZiAodGhpcy5sYWJlbCA9PSBcIlwiKSB7XG4gICAgICB0aGlzLmxhYmVsID0gXCJTw6lsZWN0aW9ubmV6IHBhciBpbnRlcnZhbGxlIGRlIGRhdGUvaGV1cmVcIjtcbiAgICB9XG4gICAgaWYgKHRoaXMuaGVscCA9PSBcIlwiKSB7XG4gICAgICB0aGlzLmhlbHAgPSBcIkRhdGUvaGV1cmVcIjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|