@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.
Files changed (155) hide show
  1. package/README.md +7 -0
  2. package/esm2020/lib/auth/auth-interceptor.service.mjs +73 -0
  3. package/esm2020/lib/auth/auth.service.mjs +114 -0
  4. package/esm2020/lib/auth/jwt.mjs +21 -0
  5. package/esm2020/lib/data/data-backend.mjs +106 -0
  6. package/esm2020/lib/data/data-collection.mjs +109 -0
  7. package/esm2020/lib/data/data-collection.mock.mjs +39 -0
  8. package/esm2020/lib/data/data-model.mjs +287 -0
  9. package/esm2020/lib/data/data-parameters.mjs +34 -0
  10. package/esm2020/lib/data/data-query.mjs +143 -0
  11. package/esm2020/lib/data/data-query.mock.mjs +46 -0
  12. package/esm2020/lib/data/fields/base.mjs +142 -0
  13. package/esm2020/lib/data/fields/boolean.mjs +38 -0
  14. package/esm2020/lib/data/fields/datetime.mjs +109 -0
  15. package/esm2020/lib/data/fields/index.mjs +7 -0
  16. package/esm2020/lib/data/fields/numbers.mjs +28 -0
  17. package/esm2020/lib/data/fields/primaryfield.mjs +9 -0
  18. package/esm2020/lib/data/fields/relations.mjs +53 -0
  19. package/esm2020/lib/data/fields/stringfields.mjs +71 -0
  20. package/esm2020/lib/dispedit/choice.pipe.mjs +38 -0
  21. package/esm2020/lib/dispedit/dispedit/dispedit.component.mjs +457 -0
  22. package/esm2020/lib/dispedit/dispedit/dispedit.constants.mjs +2 -0
  23. package/esm2020/lib/dispedit/dispedit.module.mjs +60 -0
  24. package/esm2020/lib/dispedit/fkselect/fkselect.component.mjs +140 -0
  25. package/esm2020/lib/dispedit/m2mselect/m2mselect.component.mjs +316 -0
  26. package/esm2020/lib/dispedit/sdelete/sdelete.component.mjs +43 -0
  27. package/esm2020/lib/messages/message-zone/message-zone.component.mjs +57 -0
  28. package/esm2020/lib/messages/message.service.mjs +151 -0
  29. package/esm2020/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.mjs +34 -0
  30. package/esm2020/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.mjs +63 -0
  31. package/esm2020/lib/modellist/model-list-fields/model-list-fields.mjs +225 -0
  32. package/esm2020/lib/modellist/model-list-filters/filters/filtertypes.mjs +3 -0
  33. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.mjs +104 -0
  34. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.mjs +31 -0
  35. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.mjs +25 -0
  36. package/esm2020/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.mjs +40 -0
  37. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.mjs +21 -0
  38. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.mjs +14 -0
  39. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.mjs +21 -0
  40. package/esm2020/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.mjs +14 -0
  41. package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.mjs +21 -0
  42. package/esm2020/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.mjs +14 -0
  43. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.mjs +21 -0
  44. package/esm2020/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.mjs +14 -0
  45. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.mjs +44 -0
  46. package/esm2020/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.mjs +49 -0
  47. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.mjs +45 -0
  48. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.mjs +26 -0
  49. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.mjs +21 -0
  50. package/esm2020/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.mjs +14 -0
  51. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.mjs +40 -0
  52. package/esm2020/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.mjs +14 -0
  53. package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.mjs +21 -0
  54. package/esm2020/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.mjs +14 -0
  55. package/esm2020/lib/modellist/model-list-filters/model-list-filter.mjs +41 -0
  56. package/esm2020/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.mjs +48 -0
  57. package/esm2020/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.mjs +30 -0
  58. package/esm2020/lib/modellist/model-list-filters/model-list-filters.mjs +80 -0
  59. package/esm2020/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.mjs +70 -0
  60. package/esm2020/lib/modellist/model-list-paginator/model-list-paginator.mjs +47 -0
  61. package/esm2020/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.mjs +49 -0
  62. package/esm2020/lib/modellist/model-list-sorter/model-list-sorter.mjs +116 -0
  63. package/esm2020/lib/modellist/model-list.service.mjs +115 -0
  64. package/esm2020/lib/routing/breadcrumb/breadcrumb.component.mjs +142 -0
  65. package/esm2020/lib/routing/routing.mjs +57 -0
  66. package/esm2020/lib/uploader/index.mjs +6 -0
  67. package/esm2020/lib/uploader/interfaces.mjs +8 -0
  68. package/esm2020/lib/uploader/ng-file-drop.directive.mjs +81 -0
  69. package/esm2020/lib/uploader/ng-file-select.directive.mjs +51 -0
  70. package/esm2020/lib/uploader/ngx-uploader.class.mjs +308 -0
  71. package/esm2020/lib/uploader/ngx-uploader.module.mjs +17 -0
  72. package/esm2020/lib/utils/slugify.mjs +16 -0
  73. package/esm2020/lib/utils/tab-memory.service.mjs +71 -0
  74. package/esm2020/public-api.mjs +41 -0
  75. package/esm2020/solidev-data.mjs +5 -0
  76. package/fesm2015/solidev-data.mjs +4791 -0
  77. package/fesm2015/solidev-data.mjs.map +1 -0
  78. package/fesm2020/solidev-data.mjs +4757 -0
  79. package/fesm2020/solidev-data.mjs.map +1 -0
  80. package/index.d.ts +5 -0
  81. package/lib/auth/auth-interceptor.service.d.ts +16 -0
  82. package/lib/auth/auth.service.d.ts +38 -0
  83. package/lib/auth/jwt.d.ts +22 -0
  84. package/lib/data/data-backend.d.ts +47 -0
  85. package/lib/data/data-collection.d.ts +87 -0
  86. package/lib/data/data-collection.mock.d.ts +19 -0
  87. package/lib/data/data-model.d.ts +91 -0
  88. package/lib/data/data-parameters.d.ts +26 -0
  89. package/lib/data/data-query.d.ts +100 -0
  90. package/lib/data/data-query.mock.d.ts +25 -0
  91. package/lib/data/fields/base.d.ts +116 -0
  92. package/lib/data/fields/boolean.d.ts +9 -0
  93. package/lib/data/fields/datetime.d.ts +39 -0
  94. package/lib/data/fields/index.d.ts +6 -0
  95. package/lib/data/fields/numbers.d.ts +31 -0
  96. package/lib/data/fields/primaryfield.d.ts +8 -0
  97. package/lib/data/fields/relations.d.ts +45 -0
  98. package/lib/data/fields/stringfields.d.ts +50 -0
  99. package/lib/dispedit/choice.pipe.d.ts +8 -0
  100. package/lib/dispedit/dispedit/dispedit.component.d.ts +177 -0
  101. package/lib/dispedit/dispedit/dispedit.constants.d.ts +6 -0
  102. package/lib/dispedit/dispedit.module.d.ts +20 -0
  103. package/lib/dispedit/fkselect/fkselect.component.d.ts +43 -0
  104. package/lib/dispedit/m2mselect/m2mselect.component.d.ts +120 -0
  105. package/lib/dispedit/sdelete/sdelete.component.d.ts +26 -0
  106. package/lib/messages/message-zone/message-zone.component.d.ts +14 -0
  107. package/lib/messages/message.service.d.ts +59 -0
  108. package/lib/modellist/model-list-fields/model-list-field-header/model-list-field-header.component.d.ts +15 -0
  109. package/lib/modellist/model-list-fields/model-list-fields-selector/model-list-fields-selector.component.d.ts +19 -0
  110. package/lib/modellist/model-list-fields/model-list-fields.d.ts +67 -0
  111. package/lib/modellist/model-list-filters/filters/filtertypes.d.ts +1 -0
  112. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.component.d.ts +30 -0
  113. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-filter/model-list-autocomplete-filter.d.ts +24 -0
  114. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.component.d.ts +10 -0
  115. package/lib/modellist/model-list-filters/filters/model-list-autocomplete-multi-filter/model-list-autocomplete-multi-filter.d.ts +15 -0
  116. package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.component.d.ts +11 -0
  117. package/lib/modellist/model-list-filters/filters/model-list-datetime-filter/model-list-datetime-filter.d.ts +4 -0
  118. package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetime-range-filter.component.d.ts +11 -0
  119. package/lib/modellist/model-list-filters/filters/model-list-datetimerange-filter/model-list-datetimerange-filter.d.ts +4 -0
  120. package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.component.d.ts +11 -0
  121. package/lib/modellist/model-list-filters/filters/model-list-flags-filter/model-list-flags-filter.d.ts +4 -0
  122. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.component.d.ts +11 -0
  123. package/lib/modellist/model-list-filters/filters/model-list-geodistance-filter/model-list-geodistance-filter.d.ts +4 -0
  124. package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.component.d.ts +17 -0
  125. package/lib/modellist/model-list-filters/filters/model-list-number-filter/model-list-number-filter.d.ts +19 -0
  126. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.component.d.ts +17 -0
  127. package/lib/modellist/model-list-filters/filters/model-list-select-filter/model-list-select-filter.d.ts +16 -0
  128. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.component.d.ts +11 -0
  129. package/lib/modellist/model-list-filters/filters/model-list-select-multi-filter/model-list-select-multi-filter.d.ts +4 -0
  130. package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.component.d.ts +16 -0
  131. package/lib/modellist/model-list-filters/filters/model-list-text-filter/model-list-text-filter.d.ts +4 -0
  132. package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.component.d.ts +11 -0
  133. package/lib/modellist/model-list-filters/filters/model-list-tree-filter/model-list-tree-filter.d.ts +4 -0
  134. package/lib/modellist/model-list-filters/model-list-filter.d.ts +31 -0
  135. package/lib/modellist/model-list-filters/model-list-filters/model-list-filters.component.d.ts +9 -0
  136. package/lib/modellist/model-list-filters/model-list-filters-select/model-list-filters-select.component.d.ts +13 -0
  137. package/lib/modellist/model-list-filters/model-list-filters.d.ts +15 -0
  138. package/lib/modellist/model-list-paginator/model-list-paginator/model-list-paginator.component.d.ts +23 -0
  139. package/lib/modellist/model-list-paginator/model-list-paginator.d.ts +16 -0
  140. package/lib/modellist/model-list-sorter/model-list-sorter/model-list-sorter.component.d.ts +22 -0
  141. package/lib/modellist/model-list-sorter/model-list-sorter.d.ts +61 -0
  142. package/lib/modellist/model-list.service.d.ts +79 -0
  143. package/lib/routing/breadcrumb/breadcrumb.component.d.ts +42 -0
  144. package/lib/routing/routing.d.ts +64 -0
  145. package/lib/uploader/index.d.ts +5 -0
  146. package/lib/uploader/interfaces.d.ts +67 -0
  147. package/lib/uploader/ng-file-drop.directive.d.ts +22 -0
  148. package/lib/uploader/ng-file-select.directive.d.ts +19 -0
  149. package/lib/uploader/ngx-uploader.class.d.ts +35 -0
  150. package/lib/uploader/ngx-uploader.module.d.ts +8 -0
  151. package/lib/utils/slugify.d.ts +1 -0
  152. package/lib/utils/tab-memory.service.d.ts +29 -0
  153. package/package.json +32 -0
  154. package/public-api.d.ts +37 -0
  155. 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==