@truedat/core 6.0.5 → 6.1.1
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/package.json +3 -3
- package/src/components/CatalogMenu.js +0 -3
- package/src/components/Pagination.js +1 -1
- package/src/components/__tests__/CatalogMenu.spec.js +56 -32
- package/src/components/__tests__/SideMenu.spec.js +37 -2
- package/src/components/__tests__/__snapshots__/CatalogMenu.spec.js.snap +62 -112
- package/src/components/__tests__/__snapshots__/SideMenu.spec.js.snap +465 -33
- package/src/search/FilterDropdown.js +76 -0
- package/src/search/FilterItem.js +49 -0
- package/src/search/FilterMultilevelDropdown.js +202 -0
- package/src/search/HierarchyFilterDropdown.js +95 -0
- package/src/search/SearchContext.js +234 -0
- package/src/search/SearchFilters.js +60 -0
- package/src/search/SearchSelectedFilters.js +55 -0
- package/src/search/SearchWidget.js +30 -0
|
@@ -8,40 +8,472 @@ exports[`<SideMenu /> matches the latest snapshot 1`] = `
|
|
|
8
8
|
<div
|
|
9
9
|
class="ui vertical ui push left visible sidebar menu"
|
|
10
10
|
>
|
|
11
|
-
<div
|
|
11
|
+
<div
|
|
12
|
+
class="active item selectable"
|
|
13
|
+
>
|
|
14
|
+
<a
|
|
15
|
+
href="/search"
|
|
16
|
+
>
|
|
17
|
+
<i
|
|
18
|
+
aria-hidden="true"
|
|
19
|
+
class="search large icon"
|
|
20
|
+
/>
|
|
21
|
+
Search
|
|
22
|
+
</a>
|
|
23
|
+
</div>
|
|
24
|
+
<div
|
|
25
|
+
class="active item selectable"
|
|
26
|
+
>
|
|
27
|
+
<a
|
|
28
|
+
href="/concepts"
|
|
29
|
+
>
|
|
30
|
+
<i
|
|
31
|
+
aria-hidden="true"
|
|
32
|
+
class="tags large icon"
|
|
33
|
+
/>
|
|
34
|
+
Glossary
|
|
35
|
+
</a>
|
|
36
|
+
<div
|
|
37
|
+
class="menu"
|
|
38
|
+
>
|
|
39
|
+
<a
|
|
40
|
+
class="link item"
|
|
41
|
+
href="/concepts"
|
|
42
|
+
>
|
|
43
|
+
Glossary
|
|
44
|
+
</a>
|
|
45
|
+
<a
|
|
46
|
+
class="link item"
|
|
47
|
+
href="/pendingConcepts"
|
|
48
|
+
>
|
|
49
|
+
Drafts
|
|
50
|
+
</a>
|
|
51
|
+
<a
|
|
52
|
+
class="link item"
|
|
53
|
+
href="/deprecatedConcepts"
|
|
54
|
+
>
|
|
55
|
+
Deprecated
|
|
56
|
+
</a>
|
|
57
|
+
<a
|
|
58
|
+
class="link item"
|
|
59
|
+
href="/links/concepts/management"
|
|
60
|
+
>
|
|
61
|
+
Links manager
|
|
62
|
+
</a>
|
|
63
|
+
<a
|
|
64
|
+
class="link item"
|
|
65
|
+
href="/concepts/bulk_upload_event"
|
|
66
|
+
>
|
|
67
|
+
My loads
|
|
68
|
+
</a>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
<div
|
|
72
|
+
class="active item selectable"
|
|
73
|
+
>
|
|
74
|
+
<a
|
|
75
|
+
href="/structures"
|
|
76
|
+
>
|
|
77
|
+
<i
|
|
78
|
+
aria-hidden="true"
|
|
79
|
+
class="block layout large icon"
|
|
80
|
+
/>
|
|
81
|
+
Catalog
|
|
82
|
+
</a>
|
|
83
|
+
<div
|
|
84
|
+
class="menu"
|
|
85
|
+
>
|
|
86
|
+
<a
|
|
87
|
+
class="link item"
|
|
88
|
+
href="/structures"
|
|
89
|
+
>
|
|
90
|
+
Structures
|
|
91
|
+
</a>
|
|
92
|
+
<a
|
|
93
|
+
class="link item"
|
|
94
|
+
href="/buckets/metadata.region"
|
|
95
|
+
>
|
|
96
|
+
metadata.region
|
|
97
|
+
</a>
|
|
98
|
+
<a
|
|
99
|
+
class="link item"
|
|
100
|
+
href="/buckets/note.layer"
|
|
101
|
+
>
|
|
102
|
+
note.layer
|
|
103
|
+
</a>
|
|
104
|
+
<a
|
|
105
|
+
class="link item"
|
|
106
|
+
href="/referenceDatasets"
|
|
107
|
+
>
|
|
108
|
+
Reference Data
|
|
109
|
+
</a>
|
|
110
|
+
<a
|
|
111
|
+
class="link item"
|
|
112
|
+
href="/structureNotes"
|
|
113
|
+
>
|
|
114
|
+
Pending notes
|
|
115
|
+
</a>
|
|
116
|
+
<a
|
|
117
|
+
class="link item"
|
|
118
|
+
href="/bulkUpdateTemplateContentEvents"
|
|
119
|
+
>
|
|
120
|
+
My loads
|
|
121
|
+
</a>
|
|
122
|
+
<a
|
|
123
|
+
class="link item"
|
|
124
|
+
href="/bucketViewConfigs"
|
|
125
|
+
>
|
|
126
|
+
Catalog views
|
|
127
|
+
</a>
|
|
128
|
+
<a
|
|
129
|
+
class="link item"
|
|
130
|
+
href="/structureTypes"
|
|
131
|
+
>
|
|
132
|
+
Structure Types
|
|
133
|
+
</a>
|
|
134
|
+
<a
|
|
135
|
+
class="link item"
|
|
136
|
+
href="/structureTags"
|
|
137
|
+
>
|
|
138
|
+
Structure Tags
|
|
139
|
+
</a>
|
|
140
|
+
</div>
|
|
141
|
+
</div>
|
|
142
|
+
<div
|
|
143
|
+
class="active item selectable"
|
|
144
|
+
>
|
|
145
|
+
<a
|
|
146
|
+
href="/structuresGrantRequests"
|
|
147
|
+
>
|
|
148
|
+
<i
|
|
149
|
+
aria-hidden="true"
|
|
150
|
+
class="key large icon"
|
|
151
|
+
/>
|
|
152
|
+
Grants
|
|
153
|
+
</a>
|
|
154
|
+
<div
|
|
155
|
+
class="menu"
|
|
156
|
+
>
|
|
157
|
+
<a
|
|
158
|
+
class="link item"
|
|
159
|
+
href="/structuresGrantRequests"
|
|
160
|
+
>
|
|
161
|
+
Structures grant requests
|
|
162
|
+
</a>
|
|
163
|
+
<a
|
|
164
|
+
class="link item"
|
|
165
|
+
href="/myGrants"
|
|
166
|
+
>
|
|
167
|
+
My Grants
|
|
168
|
+
</a>
|
|
169
|
+
<a
|
|
170
|
+
class="link item"
|
|
171
|
+
href="/grants"
|
|
172
|
+
>
|
|
173
|
+
Grants
|
|
174
|
+
</a>
|
|
175
|
+
<a
|
|
176
|
+
class="link item"
|
|
177
|
+
href="/myGrantRequests"
|
|
178
|
+
>
|
|
179
|
+
My Grant Requests
|
|
180
|
+
</a>
|
|
181
|
+
<a
|
|
182
|
+
class="link item"
|
|
183
|
+
href="/grantRequests"
|
|
184
|
+
>
|
|
185
|
+
Approve Grant Requests
|
|
186
|
+
</a>
|
|
187
|
+
<a
|
|
188
|
+
class="link item"
|
|
189
|
+
href="/grantApprovalRules"
|
|
190
|
+
>
|
|
191
|
+
Approval Rules
|
|
192
|
+
</a>
|
|
193
|
+
</div>
|
|
194
|
+
</div>
|
|
195
|
+
<div
|
|
196
|
+
class="active item selectable"
|
|
197
|
+
>
|
|
198
|
+
<a
|
|
199
|
+
href="/rules"
|
|
200
|
+
>
|
|
201
|
+
<i
|
|
202
|
+
aria-hidden="true"
|
|
203
|
+
class="check square large icon"
|
|
204
|
+
/>
|
|
205
|
+
Data Quality
|
|
206
|
+
</a>
|
|
207
|
+
<div
|
|
208
|
+
class="menu"
|
|
209
|
+
>
|
|
210
|
+
<a
|
|
211
|
+
class="link item"
|
|
212
|
+
href="/rules"
|
|
213
|
+
>
|
|
214
|
+
Quality Rules
|
|
215
|
+
</a>
|
|
216
|
+
<a
|
|
217
|
+
class="link item"
|
|
218
|
+
href="/implementations"
|
|
219
|
+
>
|
|
220
|
+
Implementations
|
|
221
|
+
</a>
|
|
222
|
+
<a
|
|
223
|
+
class="link item"
|
|
224
|
+
href="/pendingImplementations"
|
|
225
|
+
>
|
|
226
|
+
Drafts
|
|
227
|
+
</a>
|
|
228
|
+
<a
|
|
229
|
+
class="link item"
|
|
230
|
+
href="/deprecatedImplementations"
|
|
231
|
+
>
|
|
232
|
+
Deprecated
|
|
233
|
+
</a>
|
|
234
|
+
<a
|
|
235
|
+
class="link item"
|
|
236
|
+
href="/executionGroups"
|
|
237
|
+
>
|
|
238
|
+
My Executions
|
|
239
|
+
</a>
|
|
240
|
+
</div>
|
|
241
|
+
</div>
|
|
242
|
+
<div
|
|
243
|
+
class="active item selectable"
|
|
244
|
+
>
|
|
245
|
+
<a
|
|
246
|
+
href="/dataViews"
|
|
247
|
+
>
|
|
248
|
+
<i
|
|
249
|
+
aria-hidden="true"
|
|
250
|
+
class="weight large icon"
|
|
251
|
+
/>
|
|
252
|
+
quality_experience
|
|
253
|
+
</a>
|
|
254
|
+
<div
|
|
255
|
+
class="menu"
|
|
256
|
+
>
|
|
257
|
+
<a
|
|
258
|
+
class="link item"
|
|
259
|
+
href="/dataViews"
|
|
260
|
+
>
|
|
261
|
+
dataViews
|
|
262
|
+
</a>
|
|
263
|
+
<a
|
|
264
|
+
class="link item"
|
|
265
|
+
href="/functions"
|
|
266
|
+
>
|
|
267
|
+
functions
|
|
268
|
+
</a>
|
|
269
|
+
<a
|
|
270
|
+
class="link item"
|
|
271
|
+
href="/qualityControls"
|
|
272
|
+
>
|
|
273
|
+
quality_controls_published
|
|
274
|
+
</a>
|
|
275
|
+
<a
|
|
276
|
+
class="link item"
|
|
277
|
+
href="/qualityControls/deprecated"
|
|
278
|
+
>
|
|
279
|
+
quality_controls_deprecated
|
|
280
|
+
</a>
|
|
281
|
+
<a
|
|
282
|
+
class="link item"
|
|
283
|
+
href="/qualityControls/drafts"
|
|
284
|
+
>
|
|
285
|
+
quality_controls_drafts
|
|
286
|
+
</a>
|
|
287
|
+
<a
|
|
288
|
+
class="link item"
|
|
289
|
+
href="/qualityControls/executionGroups"
|
|
290
|
+
>
|
|
291
|
+
quality_controls_execution_groups
|
|
292
|
+
</a>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
<div
|
|
296
|
+
class="active item selectable"
|
|
297
|
+
>
|
|
298
|
+
<a
|
|
299
|
+
href="/graphs"
|
|
300
|
+
>
|
|
301
|
+
<i
|
|
302
|
+
aria-hidden="true"
|
|
303
|
+
class="shuffle large icon"
|
|
304
|
+
/>
|
|
305
|
+
Lineage Analysis
|
|
306
|
+
</a>
|
|
12
307
|
<div
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
308
|
+
class="menu"
|
|
309
|
+
>
|
|
310
|
+
<a
|
|
311
|
+
class="link item"
|
|
312
|
+
href="/graphs"
|
|
313
|
+
>
|
|
314
|
+
Lineage Analysis
|
|
315
|
+
</a>
|
|
316
|
+
<a
|
|
317
|
+
class="link item"
|
|
318
|
+
href="/lineageEvents"
|
|
319
|
+
>
|
|
320
|
+
My graphs
|
|
321
|
+
</a>
|
|
322
|
+
</div>
|
|
323
|
+
</div>
|
|
324
|
+
<div
|
|
325
|
+
class="active item selectable"
|
|
326
|
+
>
|
|
327
|
+
<a
|
|
328
|
+
href="/ingests"
|
|
329
|
+
>
|
|
330
|
+
<i
|
|
331
|
+
aria-hidden="true"
|
|
332
|
+
class="hdd outline large icon"
|
|
333
|
+
/>
|
|
334
|
+
Data Requests
|
|
335
|
+
</a>
|
|
336
|
+
</div>
|
|
337
|
+
<div
|
|
338
|
+
class="active item selectable"
|
|
339
|
+
>
|
|
340
|
+
<a
|
|
341
|
+
href="/resource_mappings"
|
|
342
|
+
>
|
|
343
|
+
<i
|
|
344
|
+
aria-hidden="true"
|
|
345
|
+
class="lightbulb outline large icon"
|
|
346
|
+
/>
|
|
347
|
+
artificial_intelligence
|
|
348
|
+
</a>
|
|
349
|
+
<div
|
|
350
|
+
class="menu"
|
|
351
|
+
>
|
|
352
|
+
<a
|
|
353
|
+
class="link item"
|
|
354
|
+
href="/resource_mappings"
|
|
355
|
+
>
|
|
356
|
+
resource_mappings
|
|
357
|
+
</a>
|
|
358
|
+
<a
|
|
359
|
+
class="link item"
|
|
360
|
+
href="/prompts"
|
|
361
|
+
>
|
|
362
|
+
prompts
|
|
363
|
+
</a>
|
|
364
|
+
</div>
|
|
365
|
+
</div>
|
|
366
|
+
<div
|
|
367
|
+
class="active item selectable"
|
|
368
|
+
>
|
|
369
|
+
<a
|
|
370
|
+
href="/domains"
|
|
371
|
+
>
|
|
372
|
+
<i
|
|
373
|
+
aria-hidden="true"
|
|
374
|
+
class="sitemap large icon"
|
|
375
|
+
/>
|
|
376
|
+
Taxonomy
|
|
377
|
+
</a>
|
|
378
|
+
</div>
|
|
379
|
+
<div
|
|
380
|
+
class="active item selectable"
|
|
381
|
+
>
|
|
382
|
+
<a
|
|
383
|
+
href="/users"
|
|
384
|
+
>
|
|
385
|
+
<i
|
|
386
|
+
aria-hidden="true"
|
|
387
|
+
class="users large icon"
|
|
388
|
+
/>
|
|
389
|
+
Members
|
|
390
|
+
</a>
|
|
391
|
+
<div
|
|
392
|
+
class="menu"
|
|
393
|
+
>
|
|
394
|
+
<a
|
|
395
|
+
class="link item"
|
|
396
|
+
href="/users"
|
|
397
|
+
>
|
|
398
|
+
Users
|
|
399
|
+
</a>
|
|
400
|
+
<a
|
|
401
|
+
class="link item"
|
|
402
|
+
href="/roles"
|
|
403
|
+
>
|
|
404
|
+
Roles
|
|
405
|
+
</a>
|
|
406
|
+
</div>
|
|
407
|
+
</div>
|
|
408
|
+
<div
|
|
409
|
+
class="active item selectable"
|
|
410
|
+
>
|
|
411
|
+
<a
|
|
412
|
+
href="/templates"
|
|
413
|
+
>
|
|
414
|
+
<i
|
|
415
|
+
aria-hidden="true"
|
|
416
|
+
class="setting large icon"
|
|
417
|
+
/>
|
|
418
|
+
Administration
|
|
419
|
+
</a>
|
|
420
|
+
<div
|
|
421
|
+
class="menu"
|
|
422
|
+
>
|
|
423
|
+
<a
|
|
424
|
+
class="link item"
|
|
425
|
+
href="/templates"
|
|
426
|
+
>
|
|
427
|
+
Templates
|
|
428
|
+
</a>
|
|
429
|
+
<a
|
|
430
|
+
class="link item"
|
|
431
|
+
href="/hierarchies"
|
|
432
|
+
>
|
|
433
|
+
Hierarchies
|
|
434
|
+
</a>
|
|
435
|
+
<a
|
|
436
|
+
class="link item"
|
|
437
|
+
href="/relationTags"
|
|
438
|
+
>
|
|
439
|
+
Relations
|
|
440
|
+
</a>
|
|
441
|
+
<a
|
|
442
|
+
class="link item"
|
|
443
|
+
href="/subscriptions"
|
|
444
|
+
>
|
|
445
|
+
Subscriptions
|
|
446
|
+
</a>
|
|
447
|
+
<a
|
|
448
|
+
class="link item"
|
|
449
|
+
href="/sources"
|
|
450
|
+
>
|
|
451
|
+
Sources
|
|
452
|
+
</a>
|
|
453
|
+
<a
|
|
454
|
+
class="link item"
|
|
455
|
+
href="/jobs"
|
|
456
|
+
>
|
|
457
|
+
Jobs
|
|
458
|
+
</a>
|
|
459
|
+
<a
|
|
460
|
+
class="link item"
|
|
461
|
+
href="/configurations"
|
|
462
|
+
>
|
|
463
|
+
Configuration
|
|
464
|
+
</a>
|
|
465
|
+
<a
|
|
466
|
+
class="link item"
|
|
467
|
+
href="/i18n/messages"
|
|
468
|
+
>
|
|
469
|
+
Translations
|
|
470
|
+
</a>
|
|
471
|
+
<a
|
|
472
|
+
class="link item"
|
|
473
|
+
href="/tasks"
|
|
474
|
+
>
|
|
475
|
+
Tasks
|
|
476
|
+
</a>
|
|
45
477
|
</div>
|
|
46
478
|
</div>
|
|
47
479
|
<a
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import _ from "lodash/fp";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FormattedMessage } from "react-intl";
|
|
4
|
+
import { Label, Icon, Dropdown, Dimmer, Loader } from "semantic-ui-react";
|
|
5
|
+
import { accentInsensitivePathOrder } from "@truedat/core/services/sort";
|
|
6
|
+
import FilterItem from "./FilterItem";
|
|
7
|
+
|
|
8
|
+
import { useSearchContext } from "./SearchContext";
|
|
9
|
+
|
|
10
|
+
const removePrefix = _.replace(/^.*\./, "");
|
|
11
|
+
|
|
12
|
+
export default function FilterDropdown() {
|
|
13
|
+
const {
|
|
14
|
+
loadingFilters: loading,
|
|
15
|
+
filter,
|
|
16
|
+
options,
|
|
17
|
+
activeFilterSelectedValues,
|
|
18
|
+
|
|
19
|
+
openFilter,
|
|
20
|
+
closeFilter,
|
|
21
|
+
removeFilter,
|
|
22
|
+
toggleFilterValue,
|
|
23
|
+
} = useSearchContext();
|
|
24
|
+
|
|
25
|
+
return (
|
|
26
|
+
<Dropdown
|
|
27
|
+
item
|
|
28
|
+
floating
|
|
29
|
+
scrolling
|
|
30
|
+
icon={false}
|
|
31
|
+
upward={false}
|
|
32
|
+
trigger={
|
|
33
|
+
<Label key={filter}>
|
|
34
|
+
<FormattedMessage
|
|
35
|
+
id={`filters.${filter}`}
|
|
36
|
+
defaultMessage={removePrefix(filter)}
|
|
37
|
+
/>
|
|
38
|
+
<Icon
|
|
39
|
+
name="delete"
|
|
40
|
+
onClick={(e) => {
|
|
41
|
+
e.preventDefault();
|
|
42
|
+
e.stopPropagation();
|
|
43
|
+
removeFilter({ filter });
|
|
44
|
+
}}
|
|
45
|
+
/>
|
|
46
|
+
</Label>
|
|
47
|
+
}
|
|
48
|
+
onOpen={() => openFilter({ filter })}
|
|
49
|
+
onClose={() => closeFilter({ filter })}
|
|
50
|
+
open={!_.isEmpty(options)}
|
|
51
|
+
>
|
|
52
|
+
<Dimmer.Dimmable as={Dropdown.Menu} dimmed={loading}>
|
|
53
|
+
{options &&
|
|
54
|
+
_.flow(
|
|
55
|
+
_.sortBy(accentInsensitivePathOrder("text")),
|
|
56
|
+
_.map.convert({ cap: false })((option, i) => (
|
|
57
|
+
<FilterItem
|
|
58
|
+
key={i}
|
|
59
|
+
filter={filter}
|
|
60
|
+
option={option}
|
|
61
|
+
toggleFilterValue={toggleFilterValue}
|
|
62
|
+
active={_.includes(_.prop("value")(option))(
|
|
63
|
+
activeFilterSelectedValues
|
|
64
|
+
)}
|
|
65
|
+
/>
|
|
66
|
+
))
|
|
67
|
+
)(options)}
|
|
68
|
+
{loading && (
|
|
69
|
+
<Dimmer active inverted>
|
|
70
|
+
<Loader size="tiny" />
|
|
71
|
+
</Dimmer>
|
|
72
|
+
)}
|
|
73
|
+
</Dimmer.Dimmable>
|
|
74
|
+
</Dropdown>
|
|
75
|
+
);
|
|
76
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import _ from "lodash/fp";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import PropTypes from "prop-types";
|
|
4
|
+
import { FormattedMessage } from "react-intl";
|
|
5
|
+
import { Icon, Dropdown } from "semantic-ui-react";
|
|
6
|
+
|
|
7
|
+
const FilterItemText = ({ filterName, text }) =>
|
|
8
|
+
_.trim(text) ? (
|
|
9
|
+
<FormattedMessage
|
|
10
|
+
id={`filters.${filterName}.${_.trim(text)}`}
|
|
11
|
+
defaultMessage={_.trim(text)}
|
|
12
|
+
/>
|
|
13
|
+
) : (
|
|
14
|
+
<i>
|
|
15
|
+
<FormattedMessage id="filter.empty" />
|
|
16
|
+
</i>
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
const preventDefault = (e, callback) => {
|
|
20
|
+
e && e.preventDefault();
|
|
21
|
+
e && e.stopPropagation();
|
|
22
|
+
callback();
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const FilterItem = ({
|
|
26
|
+
active,
|
|
27
|
+
filter,
|
|
28
|
+
toggleFilterValue,
|
|
29
|
+
option: { text, value },
|
|
30
|
+
}) => (
|
|
31
|
+
<Dropdown.Item
|
|
32
|
+
onClick={(e) =>
|
|
33
|
+
preventDefault(e, () => toggleFilterValue({ filter, value }))
|
|
34
|
+
}
|
|
35
|
+
active={active}
|
|
36
|
+
>
|
|
37
|
+
<Icon name={active ? "check square outline" : "square outline"} />
|
|
38
|
+
<FilterItemText filterName={filter} text={text} />
|
|
39
|
+
</Dropdown.Item>
|
|
40
|
+
);
|
|
41
|
+
|
|
42
|
+
FilterItem.propTypes = {
|
|
43
|
+
filterName: PropTypes.string,
|
|
44
|
+
text: PropTypes.string,
|
|
45
|
+
toggleFilterValue: PropTypes.func,
|
|
46
|
+
option: PropTypes.object,
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export default FilterItem;
|