@truedat/core 8.6.7 → 8.7.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.
Files changed (131) hide show
  1. package/package.json +3 -3
  2. package/src/components/AddMemberForm.js +3 -3
  3. package/src/components/Alert.js +3 -3
  4. package/src/components/AlertExporter.js +4 -4
  5. package/src/components/AvailableFilters.js +5 -5
  6. package/src/components/CSVFileModal.js +1 -1
  7. package/src/components/CardGroupsAccordion.js +4 -4
  8. package/src/components/CatalogMenu.js +2 -2
  9. package/src/components/CommentsForm.js +1 -1
  10. package/src/components/DomainSearchFilter.js +9 -9
  11. package/src/components/DomainSelector.js +1 -1
  12. package/src/components/FilterDropdown.js +5 -5
  13. package/src/components/FilterMultilevelDropdown.js +9 -9
  14. package/src/components/GlossaryMenu.js +10 -7
  15. package/src/components/Graph.js +199 -127
  16. package/src/components/GroupActions.js +2 -2
  17. package/src/components/Hierarchy.js +1 -1
  18. package/src/components/HierarchyFilterDropdown.js +7 -7
  19. package/src/components/HierarchySelector.js +1 -1
  20. package/src/components/LanguagesTabs.js +2 -2
  21. package/src/components/OptionGroup.js +8 -9
  22. package/src/components/QualityMenu.js +6 -8
  23. package/src/components/ResourceMembers.js +3 -3
  24. package/src/components/SearchFilterDropdown.js +3 -3
  25. package/src/components/SidebarToggle.js +1 -1
  26. package/src/components/Submenu.js +46 -27
  27. package/src/components/SystemsLoader.js +1 -1
  28. package/src/components/TemplatesLoader.js +1 -1
  29. package/src/components/TreeSelector.js +2 -2
  30. package/src/components/UploadJob.js +3 -3
  31. package/src/components/UploadJobBreadcrumbs.js +4 -1
  32. package/src/components/UploadJobParser.js +4 -3
  33. package/src/components/UploadModal.js +1 -1
  34. package/src/components/UserFilter.js +1 -1
  35. package/src/components/UserFilters.js +2 -2
  36. package/src/components/__tests__/ArrayDecorator.spec.js +2 -2
  37. package/src/components/__tests__/CardGroupsAccordion.spec.js +6 -6
  38. package/src/components/__tests__/CatalogMenu.spec.js +1 -1
  39. package/src/components/__tests__/DateTime.spec.js +1 -1
  40. package/src/components/__tests__/DomainSearchFilter.spec.js +2 -2
  41. package/src/components/__tests__/DomainSearchFilterItem.spec.js +7 -7
  42. package/src/components/__tests__/DomainSelector.spec.js +3 -3
  43. package/src/components/__tests__/DropdownMenuItem.spec.js +3 -3
  44. package/src/components/__tests__/FilterDropdown.spec.js +11 -11
  45. package/src/components/__tests__/FilterMultilevelDropdown.spec.js +2 -2
  46. package/src/components/__tests__/GlossaryMenu.spec.js +2 -2
  47. package/src/components/__tests__/Graph.spec.js +12 -4
  48. package/src/components/__tests__/GroupActions.spec.js +4 -4
  49. package/src/components/__tests__/Hierarchy.spec.js +1 -1
  50. package/src/components/__tests__/HierarchyFilterDropdown.spec.js +5 -5
  51. package/src/components/__tests__/HierarchyNodeFinder.spec.js +4 -4
  52. package/src/components/__tests__/HierarchySelector.spec.js +7 -5
  53. package/src/components/__tests__/Markdown.spec.js +22 -8
  54. package/src/components/__tests__/ModalSaveFilter.spec.js +1 -1
  55. package/src/components/__tests__/Pagination.spec.js +2 -2
  56. package/src/components/__tests__/ResourceMembers.spec.js +4 -4
  57. package/src/components/__tests__/SearchDateFilter.spec.js +10 -5
  58. package/src/components/__tests__/SearchFilterDropdown.spec.js +1 -1
  59. package/src/components/__tests__/SelectedFilters.spec.js +7 -7
  60. package/src/components/__tests__/SideMenu.spec.js +1 -1
  61. package/src/components/__tests__/Submenu.spec.js +1 -1
  62. package/src/components/__tests__/TemplateSelector.spec.js +5 -5
  63. package/src/components/__tests__/TreeSelector.spec.js +23 -24
  64. package/src/components/__tests__/UploadJob.spec.js +1 -3
  65. package/src/components/__tests__/UploadJobBreadcrumbs.spec.js +4 -4
  66. package/src/components/__tests__/UploadJobParser.spec.js +42 -38
  67. package/src/components/__tests__/UploadModal.spec.js +9 -9
  68. package/src/components/__tests__/UserFilters.spec.js +1 -1
  69. package/src/components/graph/ColoredEdge.js +29 -23
  70. package/src/components/graph/edgeLayout.js +4 -1
  71. package/src/hooks/__tests__/useActiveRoutes.spec.js +32 -18
  72. package/src/hooks/useAclEntries.js +2 -2
  73. package/src/hooks/useActiveRoutes.js +14 -6
  74. package/src/hooks/useAuthorized.js +3 -3
  75. package/src/hooks/useHierarchies.js +8 -8
  76. package/src/hooks/useLocales.js +3 -3
  77. package/src/hooks/useMessages.js +1 -1
  78. package/src/hooks/useOnScreen.js +1 -1
  79. package/src/hooks/useUploadJobs.js +2 -8
  80. package/src/hooks/useUserFilters.js +1 -1
  81. package/src/i18n/components/LangProvider.js +6 -6
  82. package/src/i18n/components/Languages.js +4 -4
  83. package/src/i18n/components/MessageForm.js +24 -13
  84. package/src/i18n/components/Messages.js +5 -5
  85. package/src/i18n/components/__tests__/I18nRoutes.spec.js +1 -1
  86. package/src/messages/index.js +1 -1
  87. package/src/reducers/comments.js +3 -3
  88. package/src/router/__tests__/ProtectedRoute.spec.js +1 -1
  89. package/src/routes.js +1 -1
  90. package/src/routesTree.js +6 -1
  91. package/src/routines.js +2 -2
  92. package/src/search/FilterDropdown.js +1 -1
  93. package/src/search/FilterMultilevelDropdown.js +10 -10
  94. package/src/search/FilterQueryDropdown.js +4 -4
  95. package/src/search/HierarchyFilterDropdown.js +7 -7
  96. package/src/search/SearchContext.js +19 -19
  97. package/src/search/SearchDateFilter.js +12 -2
  98. package/src/search/SearchFilters.js +1 -1
  99. package/src/search/SearchSelectedFilters.js +1 -1
  100. package/src/search/SearchWidget.js +6 -2
  101. package/src/search/UserFilter.js +1 -1
  102. package/src/search/UserFilters.js +4 -4
  103. package/src/search/__tests__/FilterDropdown.spec.js +3 -3
  104. package/src/search/__tests__/FilterQueryDropdown.spec.js +20 -18
  105. package/src/search/__tests__/ModalSaveFilter.spec.js +2 -2
  106. package/src/search/__tests__/SearchContext.spec.js +42 -42
  107. package/src/search/__tests__/SearchSelectedFilters.spec.js +21 -17
  108. package/src/search/__tests__/SearchWidget.spec.js +4 -4
  109. package/src/selectors/__tests__/getRiSubscopes.spec.js +1 -1
  110. package/src/selectors/__tests__/makeSearchQuerySelector.spec.js +2 -2
  111. package/src/selectors/getConceptSubscope.js +1 -1
  112. package/src/selectors/getDashboardConfig.js +3 -3
  113. package/src/selectors/getMessage.js +3 -3
  114. package/src/selectors/getRecipients.js +3 -3
  115. package/src/selectors/getRiSubscopes.js +2 -2
  116. package/src/selectors/getSidemenuGlossarySubscopes.js +1 -1
  117. package/src/selectors/makeActiveFiltersSelector.js +2 -2
  118. package/src/selectors/makeDateFiltersSelector.js +1 -1
  119. package/src/selectors/makeSearchQuerySelector.js +10 -10
  120. package/src/selectors/makeTagOptionsSelector.js +1 -4
  121. package/src/selectors/subscopedTemplates.js +2 -2
  122. package/src/services/columnPredicate.js +1 -1
  123. package/src/services/dateFilterFormatter.js +1 -1
  124. package/src/services/fieldType.js +1 -1
  125. package/src/services/formRules.js +16 -13
  126. package/src/services/getHierarchyOptions.js +2 -2
  127. package/src/services/message.js +7 -8
  128. package/src/services/operators.js +5 -5
  129. package/src/services/sort.js +2 -2
  130. package/src/services/swr.js +1 -1
  131. package/src/services/tree.js +2 -2
@@ -34,7 +34,7 @@ export default function FilterMultilevelDropdown() {
34
34
 
35
35
  useEffect(() => {
36
36
  const activeOptions = _.filter((option) =>
37
- _.includes(option.id)(activeFilterSelectedValues)
37
+ _.includes(option.id)(activeFilterSelectedValues),
38
38
  )(options);
39
39
 
40
40
  _.flow(
@@ -44,18 +44,18 @@ export default function FilterMultilevelDropdown() {
44
44
  option.id,
45
45
  ..._.map("id")(option.descendents),
46
46
  ],
47
- []
47
+ [],
48
48
  ),
49
49
  _.uniq,
50
- setSelected
50
+ setSelected,
51
51
  )(activeOptions);
52
52
  if (_.isEmpty(open) && _.isEmpty(displayed)) {
53
53
  const withAncestors = _.flow(
54
54
  _.reduce(
55
55
  (acc, option) => [...acc, ..._.map("id")(option.ancestors)],
56
- []
56
+ [],
57
57
  ),
58
- _.uniq
58
+ _.uniq,
59
59
  )(activeOptions);
60
60
  const newDisplayed = [..._.map("id")(activeOptions), ...withAncestors];
61
61
  !_.isEqual(open, withAncestors) && setOpen(withAncestors);
@@ -81,7 +81,7 @@ export default function FilterMultilevelDropdown() {
81
81
  const handleClick = (e, selection) => {
82
82
  const option = _.find({ id: selection })(options);
83
83
  const ancestorsToDelete = _.intersection(_.map("id")(option.ancestors))(
84
- activeFilterSelectedValues
84
+ activeFilterSelectedValues,
85
85
  );
86
86
  if (!_.isEmpty(ancestorsToDelete)) {
87
87
  const active = _.union([selection])(activeFilterSelectedValues);
@@ -90,7 +90,7 @@ export default function FilterMultilevelDropdown() {
90
90
  } else if (_.includes(selection)(activeFilterSelectedValues)) {
91
91
  const descendents = _.map("id")(option.descendents);
92
92
  const value = _.without([selection, ...descendents])(
93
- activeFilterSelectedValues
93
+ activeFilterSelectedValues,
94
94
  );
95
95
  toggleFilterValue({ filter, value });
96
96
  } else {
@@ -121,8 +121,8 @@ export default function FilterMultilevelDropdown() {
121
121
  (domain) =>
122
122
  match(domain.name, query) ||
123
123
  _.some((descendent) => match(descendent.name, query))(
124
- domain.descendents
125
- )
124
+ domain.descendents,
125
+ ),
126
126
  )(all);
127
127
  }
128
128
  return all;
@@ -130,7 +130,7 @@ export default function FilterMultilevelDropdown() {
130
130
 
131
131
  const filterDisplayed = (all) =>
132
132
  _.filter((domain) => domain.level == 0 || _.contains(domain.id)(displayed))(
133
- all
133
+ all,
134
134
  );
135
135
 
136
136
  const filteredOptions = _.flow(filterSearch, filterDisplayed)(options);
@@ -38,13 +38,13 @@ export default function FilterQueryDropdown() {
38
38
 
39
39
  useEffect(() => {
40
40
  const activeOptions = _.filter((option) =>
41
- _.includes(option.value)(activeFilterSelectedValues)
41
+ _.includes(option.value)(activeFilterSelectedValues),
42
42
  )(options);
43
43
 
44
44
  _.flow(
45
45
  _.reduce((acc, option) => [...acc, option], []),
46
46
  _.uniq,
47
- setSelected
47
+ setSelected,
48
48
  )(activeOptions);
49
49
  }, [activeFilterSelectedValues, options]);
50
50
 
@@ -57,7 +57,7 @@ export default function FilterQueryDropdown() {
57
57
  const filteredOptions = _.filter(
58
58
  (option) =>
59
59
  match(option.text, localQuery) &&
60
- !_.includes(option.value)(activeFilterSelectedValues)
60
+ !_.includes(option.value)(activeFilterSelectedValues),
61
61
  )(sortedOptions);
62
62
 
63
63
  return (
@@ -126,7 +126,7 @@ export default function FilterQueryDropdown() {
126
126
  toggleFilterValue={toggleFilterValue}
127
127
  option={option}
128
128
  active={_.includes(_.prop("value")(option))(
129
- activeFilterSelectedValues
129
+ activeFilterSelectedValues,
130
130
  )}
131
131
  />
132
132
  ))}
@@ -18,7 +18,7 @@ const PopulatedHierarchyFilterDropdown = () => {
18
18
  _.first,
19
19
  _.prop("value"),
20
20
  (value) => value.split("_"),
21
- _.first
21
+ _.first,
22
22
  )(options);
23
23
 
24
24
  const { data, error, loading: hierarchyLoading } = useHierarchy(hierarchyId);
@@ -30,29 +30,29 @@ const PopulatedHierarchyFilterDropdown = () => {
30
30
  const includedKeys = _.flow(
31
31
  _.map("value"),
32
32
  _.flatMap(getKeyAndParents(hierarchyOptions)),
33
- _.uniq
33
+ _.uniq,
34
34
  )(options);
35
35
 
36
36
  const filterIncludedKeys = _.filter(({ key }) =>
37
- _.includes(key)(includedKeys)
37
+ _.includes(key)(includedKeys),
38
38
  );
39
39
 
40
40
  const filteredChildren = _.flow(_.prop("children"), filterIncludedKeys);
41
41
 
42
42
  const filteredOptions = _.flow(
43
43
  filterIncludedKeys,
44
- _.map((node) => ({ ...node, children: filteredChildren(node) }))
44
+ _.map((node) => ({ ...node, children: filteredChildren(node) })),
45
45
  )(hierarchyOptions);
46
46
 
47
47
  const idActiveValues = _.map((key) =>
48
- _.flow(_.find({ key }), _.prop("id"))(filteredOptions)
48
+ _.flow(_.find({ key }), _.prop("id"))(filteredOptions),
49
49
  )(activeFilterSelectedValues);
50
50
 
51
51
  const handleToggleFilterValue = ({ filter, value }) => {
52
52
  const getChildrenKeys = (id) => {
53
53
  const { key, descendents } = _.flow(
54
54
  _.find({ id }),
55
- _.pick(["key", "descendents"])
55
+ _.pick(["key", "descendents"]),
56
56
  )(filteredOptions);
57
57
  const descendentKeys = _.map("key")(descendents);
58
58
  return [key, ...descendentKeys];
@@ -61,7 +61,7 @@ const PopulatedHierarchyFilterDropdown = () => {
61
61
  const newValue = _.flow(
62
62
  _.flatMap(getChildrenKeys),
63
63
  _.uniq,
64
- _.reject(_.isNil)
64
+ _.reject(_.isNil),
65
65
  )(value);
66
66
 
67
67
  toggleFilterValue({ filter, value: newValue });
@@ -68,7 +68,7 @@ export const SearchContextProvider = (props) => {
68
68
  setLoading(false);
69
69
  });
70
70
  }),
71
- []
71
+ [],
72
72
  );
73
73
 
74
74
  const debouncedTriggerSearchFilters = useCallback(
@@ -78,7 +78,7 @@ export const SearchContextProvider = (props) => {
78
78
  setLoadingFilters(false);
79
79
  });
80
80
  }),
81
- []
81
+ [],
82
82
  );
83
83
 
84
84
  useEffect(() => {
@@ -147,12 +147,12 @@ export const SearchContextProvider = (props) => {
147
147
  const filters = _.flow(
148
148
  _.propOr({}, "data"),
149
149
  _.omit(omitFilters),
150
- _.omitBy(_.flow(_.propOr([], "values"), (values) => _.size(values) < 2))
150
+ _.omitBy(_.flow(_.propOr([], "values"), (values) => _.size(values) < 2)),
151
151
  )(filtersPayload);
152
152
 
153
153
  const allFilters = _.flow(
154
154
  _.propOr({}, "data"),
155
- _.omit(omitFilters)
155
+ _.omit(omitFilters),
156
156
  )(filtersPayload);
157
157
 
158
158
  const availableFilters = _.flow(_.keys, _.without(selectedFilters))(filters);
@@ -163,18 +163,18 @@ export const SearchContextProvider = (props) => {
163
163
  ({ values, type }) => ({
164
164
  values: _.flow(
165
165
  _.concat(_.prop(activeFilterName)(allActiveFilters)),
166
- _.uniq
166
+ _.uniq,
167
167
  )(values),
168
168
  type,
169
169
  }),
170
170
  formatFilterValues,
171
171
  _.map(makeOption(translations(formatMessage), activeFilterName)),
172
- _.reject((item) => _.values(item).includes(undefined))
172
+ _.reject((item) => _.values(item).includes(undefined)),
173
173
  )(filters);
174
174
 
175
175
  const activeFilterSelectedValues = _.flow(
176
176
  _.propOr([], activeFilterName),
177
- toFilterValues
177
+ toFilterValues,
178
178
  )(allActiveFilters);
179
179
 
180
180
  const [customSearchMust, setCustomSearchMust] = useState({});
@@ -193,7 +193,7 @@ export const SearchContextProvider = (props) => {
193
193
  dateFilters,
194
194
  hiddenFilters,
195
195
  customSearchMust,
196
- ]
196
+ ],
197
197
  );
198
198
 
199
199
  const filterMust = useMemo(
@@ -202,11 +202,11 @@ export const SearchContextProvider = (props) => {
202
202
  ...hiddenFilters,
203
203
  ..._.flow(
204
204
  _.pickBy(_.negate(_.isEmpty)),
205
- _.omit(activeFilterName)
205
+ _.omit(activeFilterName),
206
206
  )(allActiveFilters),
207
207
  }),
208
208
 
209
- [allActiveFilters, activeFilterName, defaultFilters, hiddenFilters]
209
+ [allActiveFilters, activeFilterName, defaultFilters, hiddenFilters],
210
210
  );
211
211
 
212
212
  const sort = useMemo(
@@ -214,7 +214,7 @@ export const SearchContextProvider = (props) => {
214
214
  sortColumn
215
215
  ? { [sortColumn]: sortDirection === "ascending" ? "asc" : "desc" }
216
216
  : null,
217
- [sortColumn, sortDirection]
217
+ [sortColumn, sortDirection],
218
218
  );
219
219
 
220
220
  const triggerFilters = useFilters?.()?.trigger;
@@ -266,14 +266,14 @@ export const SearchContextProvider = (props) => {
266
266
  const getMustFilters = (filters) =>
267
267
  _.flow(
268
268
  _.pickBy((value, key) => !key.startsWith("mustnot.")),
269
- _.mapKeys(mapDomainFilterKey)
269
+ _.mapKeys(mapDomainFilterKey),
270
270
  )(filters);
271
271
 
272
272
  const getMustNotFilters = (filters) =>
273
273
  _.flow(
274
274
  _.pickBy((value, key) => key.startsWith("mustnot.")),
275
275
  _.mapKeys((key) => key.replace("mustnot.", "")),
276
- _.mapKeys(mapDomainFilterKey)
276
+ _.mapKeys(mapDomainFilterKey),
277
277
  )(filters);
278
278
 
279
279
  const makeFiltersGroup = (filters, groups) =>
@@ -281,14 +281,14 @@ export const SearchContextProvider = (props) => {
281
281
  _.groupBy((filter) =>
282
282
  _.flow(
283
283
  _.find(([_group, fields]) => _.contains(filter)(fields)),
284
- _.prop("[0]")
285
- )(groups)
284
+ _.prop("[0]"),
285
+ )(groups),
286
286
  ),
287
287
  _.toPairs,
288
288
  _.remove(([key, _value]) => {
289
289
  return _.startsWith("_")(key);
290
290
  }),
291
- _.fromPairs
291
+ _.fromPairs,
292
292
  )(filters);
293
293
 
294
294
  const filtersByGroup = makeFiltersGroup(availableFilters, filtersGroup);
@@ -297,7 +297,7 @@ export const SearchContextProvider = (props) => {
297
297
  _.flow(
298
298
  _.prop("[0]"),
299
299
  (groupName) => _.prop(groupName)(filtersByGroup),
300
- _.isEmpty
300
+ _.isEmpty,
301
301
  )(groups);
302
302
 
303
303
  const availableGroupedFilters = _.flow(
@@ -306,7 +306,7 @@ export const SearchContextProvider = (props) => {
306
306
  _.map(([groupName, _filters]) => [
307
307
  groupName,
308
308
  _.prop(groupName)(filtersByGroup),
309
- ])
309
+ ]),
310
310
  )(filtersGroup);
311
311
 
312
312
  const handleSortSelection = (columnName) => {
@@ -317,7 +317,7 @@ export const SearchContextProvider = (props) => {
317
317
  setSortDirection("ascending");
318
318
  } else {
319
319
  setSortDirection(
320
- sortDirection === "ascending" ? "descending" : "ascending"
320
+ sortDirection === "ascending" ? "descending" : "ascending",
321
321
  );
322
322
  }
323
323
  };
@@ -11,7 +11,9 @@ const SearchDateFilter = ({
11
11
  searchField = "updated_at",
12
12
  isGrantDateRange = false,
13
13
  }) => {
14
- const dateFormatter = dateFilterFormatter(isGrantDateRange ? "grantDateFilter" : undefined);
14
+ const dateFormatter = dateFilterFormatter(
15
+ isGrantDateRange ? "grantDateFilter" : undefined,
16
+ );
15
17
 
16
18
  const { setDateFilters } = useSearchContext();
17
19
 
@@ -24,7 +26,15 @@ const SearchDateFilter = ({
24
26
 
25
27
  return active ? (
26
28
  <DateFilter
27
- label={<FormattedMessage id={isGrantDateRange ? "filter.start_date_end_date" : "filter.updated_at"} />}
29
+ label={
30
+ <FormattedMessage
31
+ id={
32
+ isGrantDateRange
33
+ ? "filter.start_date_end_date"
34
+ : "filter.updated_at"
35
+ }
36
+ />
37
+ }
28
38
  name={searchField}
29
39
  onChange={onChangeDateFilter}
30
40
  defaultValues={defaultValues}
@@ -65,7 +65,7 @@ export default function SearchFilters() {
65
65
  })}
66
66
  onClick={() => addFilter({ filter })}
67
67
  />
68
- ))
68
+ )),
69
69
  )(filters)}
70
70
  </Fragment>
71
71
  ))(availableGroupedFilters)}
@@ -2,12 +2,12 @@ import _ from "lodash/fp";
2
2
  import { useState } from "react";
3
3
  import { FormattedMessage } from "react-intl";
4
4
  import { useLocation } from "react-router";
5
+ import DomainSearchFilter from "../components/DomainSearchFilter";
5
6
  import ModalSaveFilter from "./ModalSaveFilter";
6
7
  import UserFilters from "./UserFilters";
7
8
  import FilterDropdown from "./FilterDropdown";
8
9
  import FilterQueryDropdown from "./FilterQueryDropdown";
9
10
  import FilterMultilevelDropdown from "./FilterMultilevelDropdown";
10
- import DomainSearchFilter from "../components/DomainSearchFilter";
11
11
  import HierarchyFilterDropdown from "./HierarchyFilterDropdown";
12
12
  import SearchContext, { useSearchContext } from "./SearchContext";
13
13
 
@@ -6,7 +6,11 @@ import SearchSelectedFilters from "./SearchSelectedFilters";
6
6
  import { useSearchContext } from "./SearchContext";
7
7
  import SearchDateFilter from "./SearchDateFilter";
8
8
 
9
- export default function SearchWidget({ dateFilter = false, searchField, isGrantDateRange = false }) {
9
+ export default function SearchWidget({
10
+ dateFilter = false,
11
+ searchField,
12
+ isGrantDateRange = false,
13
+ }) {
10
14
  const { formatMessage } = useIntl();
11
15
 
12
16
  const {
@@ -29,7 +33,7 @@ export default function SearchWidget({ dateFilter = false, searchField, isGrantD
29
33
  name: "start_date,end_date",
30
34
  type: "range",
31
35
  rangeStart: "",
32
- rangeEnd: "",
36
+ rangeEnd: "",
33
37
  };
34
38
 
35
39
  const onClickSearchDateFilter = () => {
@@ -22,7 +22,7 @@ export const UserFilter = ({
22
22
 
23
23
  const { trigger: deleteUserFilter } = useUserFiltersDelete(
24
24
  userFilter.id,
25
- userFiltersType
25
+ userFiltersType,
26
26
  );
27
27
 
28
28
  const handleDelete = () => {
@@ -13,7 +13,7 @@ import { ConfirmModal } from "../components/ConfirmModal";
13
13
  export const DeleteModal = ({ userFilter, userFiltersType, mutate }) => {
14
14
  const { trigger: deleteUserFilter } = useUserFiltersDelete(
15
15
  userFilter.id,
16
- userFiltersType
16
+ userFiltersType,
17
17
  );
18
18
  const handleDelete = () => {
19
19
  deleteUserFilter().then(() => {
@@ -95,9 +95,9 @@ export const UserFilters = ({
95
95
 
96
96
  const sortedUserFilters = _.flow(
97
97
  _.filter(({ filters }) =>
98
- _.isNull(domainId) ? true : showDomainFilter(filters)
98
+ _.isNull(domainId) ? true : showDomainFilter(filters),
99
99
  ),
100
- _.orderBy(["is_global", "id"], ["desc", "asc"])
100
+ _.orderBy(["is_global", "id"], ["desc", "asc"]),
101
101
  )(userFilters);
102
102
 
103
103
  return _.isEmpty(userFilters) ? null : (
@@ -124,7 +124,7 @@ export const UserFilters = ({
124
124
  setSelectedUserFilter(null);
125
125
  } else {
126
126
  setAllActiveFilters(
127
- _.propOr({}, "filters")(userFilter)
127
+ _.propOr({}, "filters")(userFilter),
128
128
  );
129
129
  setSelectedUserFilter(userFilter.name);
130
130
  }
@@ -28,7 +28,7 @@ describe("<FilterDropdown/>", () => {
28
28
  const rendered = render(
29
29
  <SearchContext value={searchProps}>
30
30
  <FilterDropdown />
31
- </SearchContext>
31
+ </SearchContext>,
32
32
  );
33
33
  await waitForLoad(rendered);
34
34
  expect(rendered.container).toMatchSnapshot();
@@ -38,7 +38,7 @@ describe("<FilterDropdown/>", () => {
38
38
  const rendered = render(
39
39
  <SearchContext value={searchProps}>
40
40
  <FilterDropdown />
41
- </SearchContext>
41
+ </SearchContext>,
42
42
  );
43
43
  await waitForLoad(rendered);
44
44
  expect(rendered.queryByRole("textbox")).not.toBeInTheDocument();
@@ -91,7 +91,7 @@ describe("<FilterDropdown/>", () => {
91
91
  const rendered = render(
92
92
  <SearchContext value={searchProps}>
93
93
  <FilterDropdown />
94
- </SearchContext>
94
+ </SearchContext>,
95
95
  );
96
96
  await waitForLoad(rendered);
97
97
  userEvent.click(rendered.container.querySelector('[class="delete icon"]'));
@@ -27,7 +27,7 @@ describe("<FilterQueryDropdown/>", () => {
27
27
  const rendered = render(
28
28
  <SearchContext value={searchProps}>
29
29
  <FilterQueryDropdown />
30
- </SearchContext>
30
+ </SearchContext>,
31
31
  );
32
32
  await waitForLoad(rendered);
33
33
  expect(rendered.container).toMatchSnapshot();
@@ -37,11 +37,11 @@ describe("<FilterQueryDropdown/>", () => {
37
37
  const rendered = render(
38
38
  <SearchContext value={searchProps}>
39
39
  <FilterQueryDropdown />
40
- </SearchContext>
40
+ </SearchContext>,
41
41
  );
42
42
  await waitForLoad(rendered);
43
43
  const searchInput = rendered.container.querySelector(
44
- ".search input[type='text']"
44
+ ".search input[type='text']",
45
45
  );
46
46
  expect(searchInput).toBeInTheDocument();
47
47
  });
@@ -52,7 +52,7 @@ describe("<FilterQueryDropdown/>", () => {
52
52
  const rendered = render(
53
53
  <SearchContext value={searchProps}>
54
54
  <FilterQueryDropdown />
55
- </SearchContext>
55
+ </SearchContext>,
56
56
  );
57
57
  await waitForLoad(rendered);
58
58
 
@@ -60,7 +60,7 @@ describe("<FilterQueryDropdown/>", () => {
60
60
 
61
61
  expect(searchProps.toggleFilterValue).toBeCalledTimes(0);
62
62
  await user.click(
63
- rendered.getByRole("option", { name: new RegExp(selectedOption, "i") })
63
+ rendered.getByRole("option", { name: new RegExp(selectedOption, "i") }),
64
64
  );
65
65
  expect(searchProps.toggleFilterValue).toBeCalledWith({
66
66
  filter: searchProps.filter,
@@ -74,11 +74,11 @@ describe("<FilterQueryDropdown/>", () => {
74
74
  rendered.rerender(
75
75
  <SearchContext value={rerenderProps}>
76
76
  <FilterQueryDropdown />
77
- </SearchContext>
77
+ </SearchContext>,
78
78
  );
79
79
 
80
80
  expect(
81
- within(rendered.getAllByRole("option")[0]).queryByText(selectedOption)
81
+ within(rendered.getAllByRole("option")[0]).queryByText(selectedOption),
82
82
  ).not.toBeNull();
83
83
  });
84
84
 
@@ -88,18 +88,18 @@ describe("<FilterQueryDropdown/>", () => {
88
88
  const rendered = render(
89
89
  <SearchContext value={searchProps}>
90
90
  <FilterQueryDropdown />
91
- </SearchContext>
91
+ </SearchContext>,
92
92
  );
93
93
  await waitForLoad(rendered);
94
94
 
95
95
  const input = rendered.container.querySelector(
96
- ".search input[type='text']"
96
+ ".search input[type='text']",
97
97
  );
98
98
 
99
99
  expect(
100
100
  rendered.getByRole("option", {
101
101
  name: new RegExp(searchProps.options[1].text, "i"),
102
- })
102
+ }),
103
103
  ).toBeInTheDocument();
104
104
 
105
105
  const user = userEvent.setup({ delay: null });
@@ -108,11 +108,11 @@ describe("<FilterQueryDropdown/>", () => {
108
108
  expect(
109
109
  rendered.queryByRole("option", {
110
110
  name: new RegExp(searchProps.options[1].text, "i"),
111
- })
111
+ }),
112
112
  ).toBeNull();
113
113
 
114
114
  expect(
115
- within(rendered.getByRole("option")).getByText(`value${searchText}`)
115
+ within(rendered.getByRole("option")).getByText(`value${searchText}`),
116
116
  ).toBeInTheDocument();
117
117
 
118
118
  expect(rendered.getAllByRole("option").length).toBe(1);
@@ -131,29 +131,31 @@ describe("<FilterQueryDropdown/>", () => {
131
131
  const rendered = render(
132
132
  <SearchContext value={customProps}>
133
133
  <FilterQueryDropdown />
134
- </SearchContext>
134
+ </SearchContext>,
135
135
  );
136
136
  await waitForLoad(rendered);
137
137
 
138
138
  const input = rendered.container.querySelector(
139
- ".search input[type='text']"
139
+ ".search input[type='text']",
140
140
  );
141
141
 
142
142
  const user = userEvent.setup({ delay: null });
143
143
  await user.type(input, searchText);
144
144
 
145
145
  expect(
146
- within(rendered.getAllByRole("option")[0]).getByText(selectedOption)
146
+ within(rendered.getAllByRole("option")[0]).getByText(selectedOption),
147
147
  ).toBeInTheDocument();
148
148
 
149
149
  expect(
150
- within(rendered.getAllByRole("option")[1]).getByText(`value${searchText}`)
150
+ within(rendered.getAllByRole("option")[1]).getByText(
151
+ `value${searchText}`,
152
+ ),
151
153
  ).toBeInTheDocument();
152
154
 
153
155
  expect(
154
156
  rendered.queryByRole("option", {
155
157
  name: new RegExp(customProps.options[1].text, "i"),
156
- })
158
+ }),
157
159
  ).toBeNull();
158
160
 
159
161
  expect(rendered.getAllByRole("option").length).toBe(2);
@@ -208,7 +210,7 @@ describe("<FilterQueryDropdown/>", () => {
208
210
  const rendered = render(
209
211
  <SearchContext value={searchProps}>
210
212
  <FilterQueryDropdown />
211
- </SearchContext>
213
+ </SearchContext>,
212
214
  );
213
215
  await waitForLoad(rendered);
214
216
 
@@ -29,7 +29,7 @@ describe("<ModalSaveFilter /> admin", () => {
29
29
  <SearchContext value={searchProps}>
30
30
  <ModalSaveFilter />
31
31
  </SearchContext>,
32
- renderOpts
32
+ renderOpts,
33
33
  );
34
34
  expect(container).toMatchSnapshot();
35
35
  });
@@ -39,7 +39,7 @@ describe("<ModalSaveFilter /> admin", () => {
39
39
  <SearchContext value={searchProps}>
40
40
  <ModalSaveFilter />
41
41
  </SearchContext>,
42
- renderOpts
42
+ renderOpts,
43
43
  );
44
44
  userEvent.click(await findByText(/save/i));
45
45
  expect(container).toMatchSnapshot();