@truedat/core 8.7.0 → 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
@@ -148,7 +148,7 @@ describe("<SearchContextProvider />", () => {
148
148
  <SearchContextProvider {...searchProps} defaultFilters={{}}>
149
149
  <ChildComponent />
150
150
  </SearchContextProvider>,
151
- renderOpts
151
+ renderOpts,
152
152
  );
153
153
  await findByText(/Child Component/);
154
154
  expect(container).toMatchSnapshot();
@@ -171,7 +171,7 @@ describe("<SearchContextProvider />", () => {
171
171
  <SearchContextProvider {...props}>
172
172
  <ChildComponent />
173
173
  </SearchContextProvider>,
174
- renderOpts
174
+ renderOpts,
175
175
  );
176
176
 
177
177
  jest.runAllTimers();
@@ -179,7 +179,7 @@ describe("<SearchContextProvider />", () => {
179
179
  expect(triggerFiltersSpy).toHaveBeenCalledWith(
180
180
  expect.objectContaining({
181
181
  link_structures: true,
182
- })
182
+ }),
183
183
  );
184
184
  jest.useRealTimers();
185
185
  });
@@ -206,7 +206,7 @@ describe("<SearchContextProvider />", () => {
206
206
  <SearchContextProvider {...props}>
207
207
  <ChildComponent />
208
208
  </SearchContextProvider>,
209
- renderOpts
209
+ renderOpts,
210
210
  );
211
211
 
212
212
  jest.runAllTimers();
@@ -214,7 +214,7 @@ describe("<SearchContextProvider />", () => {
214
214
  expect(triggerSearchSpy).toHaveBeenCalledWith(
215
215
  expect.objectContaining({
216
216
  link_structures: true,
217
- })
217
+ }),
218
218
  );
219
219
  jest.useRealTimers();
220
220
  });
@@ -244,7 +244,7 @@ describe("<SearchContextProvider />", () => {
244
244
  >
245
245
  <ChildComponent />
246
246
  </SearchContextProvider>,
247
- renderOpts
247
+ renderOpts,
248
248
  );
249
249
 
250
250
  jest.runAllTimers();
@@ -253,14 +253,14 @@ describe("<SearchContextProvider />", () => {
253
253
  expect.objectContaining({
254
254
  must: expect.objectContaining({ domain_ids: ["100"] }),
255
255
  must_not: expect.objectContaining({ domain_ids: ["200"] }),
256
- })
256
+ }),
257
257
  );
258
258
 
259
259
  expect(triggerFiltersSpy).toHaveBeenCalledWith(
260
260
  expect.objectContaining({
261
261
  must: expect.objectContaining({ domain_ids: ["100"] }),
262
262
  must_not: expect.objectContaining({ domain_ids: ["200"] }),
263
- })
263
+ }),
264
264
  );
265
265
  jest.useRealTimers();
266
266
  });
@@ -293,20 +293,20 @@ describe("<SearchContextProvider />", () => {
293
293
  >
294
294
  <ContextConsumer onSearchChangeSpy={jest.fn()} />
295
295
  </SearchContextProvider>,
296
- renderOpts
296
+ renderOpts,
297
297
  );
298
298
 
299
299
  jest.runAllTimers();
300
300
 
301
301
  await waitFor(() =>
302
302
  expect(
303
- rendered.getByText(/grouped:\[\["main",\["status","taxonomy"\]\]\]/i)
304
- ).toBeInTheDocument()
303
+ rendered.getByText(/grouped:\[\["main",\["status","taxonomy"\]\]\]/i),
304
+ ).toBeInTheDocument(),
305
305
  );
306
306
  await waitFor(() =>
307
307
  expect(
308
- rendered.getByText(/available:\["status","taxonomy","internal"\]/i)
309
- ).toBeInTheDocument()
308
+ rendered.getByText(/available:\["status","taxonomy","internal"\]/i),
309
+ ).toBeInTheDocument(),
310
310
  );
311
311
  jest.useRealTimers();
312
312
  });
@@ -322,7 +322,7 @@ describe("<SearchContextProvider />", () => {
322
322
  <SearchContextProvider {...searchProps}>
323
323
  <ContextConsumer onSearchChangeSpy={onSearchChangeSpy} />
324
324
  </SearchContextProvider>,
325
- renderOpts
325
+ renderOpts,
326
326
  );
327
327
 
328
328
  jest.runAllTimers();
@@ -332,53 +332,53 @@ describe("<SearchContextProvider />", () => {
332
332
  await user.click(rendered.getByText(/toggle-filter-draft/i));
333
333
  await waitFor(() =>
334
334
  expect(
335
- rendered.getByText(/active:\{"status":\["draft"\]\}/i)
336
- ).toBeInTheDocument()
335
+ rendered.getByText(/active:\{"status":\["draft"\]\}/i),
336
+ ).toBeInTheDocument(),
337
337
  );
338
338
 
339
339
  await user.click(rendered.getByText(/toggle-filter-draft/i));
340
340
  await waitFor(() =>
341
341
  expect(
342
- rendered.getByText(/active:\{"status":\[\]\}/i)
343
- ).toBeInTheDocument()
342
+ rendered.getByText(/active:\{"status":\[\]\}/i),
343
+ ).toBeInTheDocument(),
344
344
  );
345
345
 
346
346
  await user.click(rendered.getByText(/replace-filter-array/i));
347
347
  await waitFor(() =>
348
348
  expect(
349
- rendered.getByText(/active:\{"status":\["draft","published"\]\}/i)
350
- ).toBeInTheDocument()
349
+ rendered.getByText(/active:\{"status":\["draft","published"\]\}/i),
350
+ ).toBeInTheDocument(),
351
351
  );
352
352
 
353
353
  await user.click(rendered.getByText(/remove-filter-status/i));
354
354
  await waitFor(() =>
355
- expect(rendered.getByText(/active:\{\}/i)).toBeInTheDocument()
355
+ expect(rendered.getByText(/active:\{\}/i)).toBeInTheDocument(),
356
356
  );
357
357
 
358
358
  await user.click(rendered.getByText(/toggle-hidden-taxonomy/i));
359
359
  await waitFor(() =>
360
360
  expect(
361
- rendered.getByText(/hidden:\{"taxonomy":\["10"\]\}/i)
362
- ).toBeInTheDocument()
361
+ rendered.getByText(/hidden:\{"taxonomy":\["10"\]\}/i),
362
+ ).toBeInTheDocument(),
363
363
  );
364
364
 
365
365
  await user.click(rendered.getByText(/toggle-hidden-taxonomy/i));
366
366
  await waitFor(() =>
367
367
  expect(
368
- rendered.getByText(/hidden:\{"taxonomy":\[\]\}/i)
369
- ).toBeInTheDocument()
368
+ rendered.getByText(/hidden:\{"taxonomy":\[\]\}/i),
369
+ ).toBeInTheDocument(),
370
370
  );
371
371
 
372
372
  await user.click(rendered.getByText(/replace-hidden-array/i));
373
373
  await waitFor(() =>
374
374
  expect(
375
- rendered.getByText(/hidden:\{"taxonomy":\["10","20"\]\}/i)
376
- ).toBeInTheDocument()
375
+ rendered.getByText(/hidden:\{"taxonomy":\["10","20"\]\}/i),
376
+ ).toBeInTheDocument(),
377
377
  );
378
378
 
379
379
  await user.click(rendered.getByText(/remove-hidden-taxonomy/i));
380
380
  await waitFor(() =>
381
- expect(rendered.getByText(/hidden:\{\}/i)).toBeInTheDocument()
381
+ expect(rendered.getByText(/hidden:\{\}/i)).toBeInTheDocument(),
382
382
  );
383
383
 
384
384
  await waitFor(() => expect(onSearchChangeSpy).toHaveBeenCalled());
@@ -396,7 +396,7 @@ describe("<SearchContextProvider />", () => {
396
396
  <SearchContextProvider {...searchProps}>
397
397
  <ContextConsumer onSearchChangeSpy={onSearchChangeSpy} />
398
398
  </SearchContextProvider>,
399
- renderOpts
399
+ renderOpts,
400
400
  );
401
401
 
402
402
  jest.runAllTimers();
@@ -408,45 +408,45 @@ describe("<SearchContextProvider />", () => {
408
408
 
409
409
  await user.click(rendered.getByText(/sort-status/i));
410
410
  await waitFor(() =>
411
- expect(rendered.getByText(/sort-column:status/i)).toBeInTheDocument()
411
+ expect(rendered.getByText(/sort-column:status/i)).toBeInTheDocument(),
412
412
  );
413
413
  await waitFor(() =>
414
414
  expect(
415
- rendered.getByText(/sort-direction:ascending/i)
416
- ).toBeInTheDocument()
415
+ rendered.getByText(/sort-direction:ascending/i),
416
+ ).toBeInTheDocument(),
417
417
  );
418
418
 
419
419
  await user.click(rendered.getByText(/sort-status/i));
420
420
  await waitFor(() =>
421
421
  expect(
422
- rendered.getByText(/sort-direction:descending/i)
423
- ).toBeInTheDocument()
422
+ rendered.getByText(/sort-direction:descending/i),
423
+ ).toBeInTheDocument(),
424
424
  );
425
425
 
426
426
  await user.click(rendered.getByText(/set-query/i));
427
427
  await waitFor(() =>
428
- expect(rendered.getByText(/sort-column:_score/i)).toBeInTheDocument()
428
+ expect(rendered.getByText(/sort-column:_score/i)).toBeInTheDocument(),
429
429
  );
430
430
  await waitFor(() =>
431
431
  expect(
432
- rendered.getByText(/sort-direction:descending/i)
433
- ).toBeInTheDocument()
432
+ rendered.getByText(/sort-direction:descending/i),
433
+ ).toBeInTheDocument(),
434
434
  );
435
435
  await waitFor(() =>
436
- expect(rendered.getByText(/query:abc/i)).toBeInTheDocument()
436
+ expect(rendered.getByText(/query:abc/i)).toBeInTheDocument(),
437
437
  );
438
438
 
439
439
  await user.click(rendered.getByText(/clean-query/i));
440
440
  await waitFor(() =>
441
- expect(rendered.getByText(/sort-column:name\.raw/i)).toBeInTheDocument()
441
+ expect(rendered.getByText(/sort-column:name\.raw/i)).toBeInTheDocument(),
442
442
  );
443
443
  await waitFor(() =>
444
444
  expect(
445
- rendered.getByText(/sort-direction:ascending/i)
446
- ).toBeInTheDocument()
445
+ rendered.getByText(/sort-direction:ascending/i),
446
+ ).toBeInTheDocument(),
447
447
  );
448
448
  await waitFor(() =>
449
- expect(rendered.getByText(/^query:$/i)).toBeInTheDocument()
449
+ expect(rendered.getByText(/^query:$/i)).toBeInTheDocument(),
450
450
  );
451
451
  await waitFor(() => expect(onSearchChangeSpy).toHaveBeenCalled());
452
452
  jest.useRealTimers();
@@ -119,14 +119,14 @@ describe("<SearchSelectedFilters />", () => {
119
119
  useSearchContext.mockReturnValue(
120
120
  buildContext({
121
121
  userFiltersType: "business_concept_user_filters",
122
- })
122
+ }),
123
123
  );
124
124
  const rendered = render(<SearchSelectedFilters />, renderOpts);
125
125
  await waitForLoad(rendered);
126
126
 
127
127
  expect(rendered.getByTestId("user-filters")).toHaveAttribute(
128
128
  "data-domain-id",
129
- "123"
129
+ "123",
130
130
  );
131
131
  });
132
132
 
@@ -135,14 +135,14 @@ describe("<SearchSelectedFilters />", () => {
135
135
  useSearchContext.mockReturnValue(
136
136
  buildContext({
137
137
  userFiltersType: "business_concept_user_filters",
138
- })
138
+ }),
139
139
  );
140
140
  const rendered = render(<SearchSelectedFilters />, renderOpts);
141
141
  await waitForLoad(rendered);
142
142
 
143
143
  expect(rendered.getByTestId("user-filters")).toHaveAttribute(
144
144
  "data-domain-id",
145
- "null"
145
+ "null",
146
146
  );
147
147
  });
148
148
 
@@ -154,18 +154,18 @@ describe("<SearchSelectedFilters />", () => {
154
154
  activeFilterName: "taxonomy",
155
155
  activeFilterValues: [{ id: 1 }, { id: 2 }],
156
156
  useDomainSearchFilter: true,
157
- })
157
+ }),
158
158
  );
159
159
  const rendered = render(<SearchSelectedFilters />, renderOpts);
160
160
  await waitForLoad(rendered);
161
161
 
162
162
  expect(rendered.getByTestId("domain-search-filter")).toHaveAttribute(
163
163
  "data-filter",
164
- "taxonomy"
164
+ "taxonomy",
165
165
  );
166
166
  expect(rendered.getByTestId("domain-search-filter")).toHaveAttribute(
167
167
  "data-options-size",
168
- "2"
168
+ "2",
169
169
  );
170
170
  });
171
171
 
@@ -175,12 +175,14 @@ describe("<SearchSelectedFilters />", () => {
175
175
  selectedFilters: ["taxonomy"],
176
176
  filterTypes: { taxonomy: "domain" },
177
177
  useDomainSearchFilter: false,
178
- })
178
+ }),
179
179
  );
180
180
  const rendered = render(<SearchSelectedFilters />, renderOpts);
181
181
  await waitForLoad(rendered);
182
182
 
183
- expect(rendered.getByTestId("filter-multilevel-dropdown")).toBeInTheDocument();
183
+ expect(
184
+ rendered.getByTestId("filter-multilevel-dropdown"),
185
+ ).toBeInTheDocument();
184
186
  });
185
187
 
186
188
  it("renders hierarchy dropdown for hierarchy filter type", async () => {
@@ -188,12 +190,14 @@ describe("<SearchSelectedFilters />", () => {
188
190
  buildContext({
189
191
  selectedFilters: ["hierarchy_field"],
190
192
  filterTypes: { hierarchy_field: "hierarchy" },
191
- })
193
+ }),
192
194
  );
193
195
  const rendered = render(<SearchSelectedFilters />, renderOpts);
194
196
  await waitForLoad(rendered);
195
197
 
196
- expect(rendered.getByTestId("hierarchy-filter-dropdown")).toBeInTheDocument();
198
+ expect(
199
+ rendered.getByTestId("hierarchy-filter-dropdown"),
200
+ ).toBeInTheDocument();
197
201
  });
198
202
 
199
203
  it("renders query dropdown when active filter options length is greater than or equal to eight", async () => {
@@ -203,7 +207,7 @@ describe("<SearchSelectedFilters />", () => {
203
207
  filterTypes: { status: "term" },
204
208
  activeFilterName: "status",
205
209
  activeFilterValues: ["a", "b", "c", "d", "e", "f", "g", "h"],
206
- })
210
+ }),
207
211
  );
208
212
  const rendered = render(<SearchSelectedFilters />, renderOpts);
209
213
  await waitForLoad(rendered);
@@ -218,7 +222,7 @@ describe("<SearchSelectedFilters />", () => {
218
222
  filterTypes: { status: "term" },
219
223
  activeFilterName: "status",
220
224
  activeFilterValues: ["a", "b", "c"],
221
- })
225
+ }),
222
226
  );
223
227
  const rendered = render(<SearchSelectedFilters />, renderOpts);
224
228
  await waitForLoad(rendered);
@@ -233,7 +237,7 @@ describe("<SearchSelectedFilters />", () => {
233
237
  selectedFilters: ["status"],
234
238
  filterTypes: { status: "term" },
235
239
  userFiltersType: "business_concept_user_filters",
236
- })
240
+ }),
237
241
  );
238
242
  const rendered = render(<SearchSelectedFilters />, renderOpts);
239
243
  await waitForLoad(rendered);
@@ -241,7 +245,7 @@ describe("<SearchSelectedFilters />", () => {
241
245
  expect(resetFilters).toHaveBeenCalledTimes(0);
242
246
  expect(rendered.getByTestId("user-filters")).toHaveAttribute(
243
247
  "data-selected-user-filter",
244
- "undefined"
248
+ "undefined",
245
249
  );
246
250
 
247
251
  await user.click(rendered.getByText(/clear filters/i));
@@ -249,7 +253,7 @@ describe("<SearchSelectedFilters />", () => {
249
253
  expect(resetFilters).toHaveBeenCalledTimes(1);
250
254
  expect(rendered.getByTestId("user-filters")).toHaveAttribute(
251
255
  "data-selected-user-filter",
252
- ""
256
+ "",
253
257
  );
254
258
  });
255
259
 
@@ -259,7 +263,7 @@ describe("<SearchSelectedFilters />", () => {
259
263
  selectedFilters: ["status"],
260
264
  filterTypes: { status: "term" },
261
265
  userFiltersType: "business_concept_user_filters",
262
- })
266
+ }),
263
267
  );
264
268
  const rendered = render(<SearchSelectedFilters />, renderOpts);
265
269
  await waitForLoad(rendered);
@@ -38,7 +38,7 @@ describe("<SearchWidget/>", () => {
38
38
  <SearchContextWrapper props={searchProps}>
39
39
  <SearchWidget />
40
40
  </SearchContextWrapper>,
41
- renderOpts
41
+ renderOpts,
42
42
  );
43
43
  expect(container).toMatchSnapshot();
44
44
  });
@@ -48,7 +48,7 @@ describe("<SearchWidget/>", () => {
48
48
  <SearchContextWrapper props={searchProps}>
49
49
  <SearchWidget dateFilter={true} />
50
50
  </SearchContextWrapper>,
51
- renderOpts
51
+ renderOpts,
52
52
  );
53
53
  expect(container).toMatchSnapshot();
54
54
  });
@@ -58,7 +58,7 @@ describe("<SearchWidget/>", () => {
58
58
  <SearchContextWrapper props={searchProps}>
59
59
  <SearchWidget />
60
60
  </SearchContextWrapper>,
61
- renderOpts
61
+ renderOpts,
62
62
  );
63
63
 
64
64
  userEvent.type(await getByRole("textbox"), "3");
@@ -81,7 +81,7 @@ describe("<SearchWidget/>", () => {
81
81
  <SearchContextWrapper props={newSearchProps}>
82
82
  <SearchWidget {...props} />
83
83
  </SearchContextWrapper>,
84
- renderOpts
84
+ renderOpts,
85
85
  );
86
86
  expect(queryByText(/Weeks/)).toBeInTheDocument();
87
87
  });
@@ -50,4 +50,4 @@ describe("selectors: getRiSubscopes", () => {
50
50
 
51
51
  expect(result).toEqual([]);
52
52
  });
53
- });
53
+ });
@@ -88,7 +88,7 @@ describe("selectors: makeSearchQuerySelector", () => {
88
88
  "conceptQuery",
89
89
  "conceptActiveFilters",
90
90
  undefined,
91
- { useDomainSearchFilter: true }
91
+ { useDomainSearchFilter: true },
92
92
  );
93
93
 
94
94
  it("maps must.taxonomy to must.domain_ids", () => {
@@ -108,7 +108,7 @@ describe("selectors: makeSearchQuerySelector", () => {
108
108
  "conceptQuery",
109
109
  "conceptActiveFilters",
110
110
  undefined,
111
- { useDomainSearchFilter: false }
111
+ { useDomainSearchFilter: false },
112
112
  );
113
113
 
114
114
  it("keeps must.taxonomy", () => {
@@ -15,5 +15,5 @@ export const getConceptSubscope = createSelector(
15
15
  const subscopeTemplate = _.find({ name: type }, templates);
16
16
 
17
17
  return subscopeTemplate?.subscope || null;
18
- }
18
+ },
19
19
  );
@@ -8,15 +8,15 @@ const configSelector = (field) =>
8
8
  content: _.conformsTo({
9
9
  [field]: _.isNumber,
10
10
  }),
11
- })
11
+ }),
12
12
  );
13
13
 
14
14
  export const getDashboardConfig = createSelector(
15
15
  _.propOr({}, "systemConfigurations"),
16
- configSelector("dashboard_id")
16
+ configSelector("dashboard_id"),
17
17
  );
18
18
 
19
19
  export const getQualityDashboardConfig = createSelector(
20
20
  _.propOr({}, "systemConfigurations"),
21
- configSelector("quality_dashboard_id")
21
+ configSelector("quality_dashboard_id"),
22
22
  );
@@ -26,7 +26,7 @@ export const getMessage = createSelector(
26
26
  dqMessage,
27
27
  ieMessage,
28
28
  imMessage,
29
- cxMessage
29
+ cxMessage,
30
30
  ) =>
31
31
  _.defaultTo(
32
32
  {},
@@ -42,6 +42,6 @@ export const getMessage = createSelector(
42
42
  coreMessage,
43
43
  imMessage,
44
44
  cxMessage,
45
- ])
46
- )
45
+ ]),
46
+ ),
47
47
  );
@@ -13,7 +13,7 @@ const usersAsOptions = (users) =>
13
13
  text: _.prop("full_name")(u),
14
14
  value: `user_${_.prop("id")(u)}`,
15
15
  icon: "user",
16
- }))
16
+ })),
17
17
  )(users);
18
18
 
19
19
  const groupsAsOptions = (groups) =>
@@ -25,10 +25,10 @@ const groupsAsOptions = (groups) =>
25
25
  text: _.prop("alias")(g) || _.prop("name")(g),
26
26
  value: `group_${_.prop("id")(g)}`,
27
27
  icon: "group",
28
- }))
28
+ })),
29
29
  )(groups);
30
30
 
31
31
  export const getRecipients = createSelector(
32
32
  [getUsers, getGroups],
33
- (users, groups) => [...usersAsOptions(users), ...groupsAsOptions(groups)]
33
+ (users, groups) => [...usersAsOptions(users), ...groupsAsOptions(groups)],
34
34
  );
@@ -4,5 +4,5 @@ import { getSubscopes } from "./subscopedTemplates";
4
4
 
5
5
  export const getRiSubscopes = createSelector(
6
6
  _.prop("allTemplates"),
7
- (allTemplates) => getSubscopes(allTemplates, "ri")
8
- );
7
+ (allTemplates) => getSubscopes(allTemplates, "ri"),
8
+ );
@@ -4,5 +4,5 @@ export const defaultSidemenuGlossarySubscopes = [];
4
4
 
5
5
  export const getSidemenuGlossarySubscopes = _.getOr(
6
6
  defaultSidemenuGlossarySubscopes,
7
- "sidemenuGlossarySubscopes"
7
+ "sidemenuGlossarySubscopes",
8
8
  );
@@ -8,10 +8,10 @@ export const makeActiveFiltersSelector = (activeFiltersProp) => {
8
8
  _.prop(activeFiltersProp),
9
9
  (_state, props) => _.propOr(defaultFilters, "defaultFilters")(props),
10
10
  (activeFilters, defaultFilters) =>
11
- defaultFilters ? { ...defaultFilters, ...activeFilters } : activeFilters
11
+ defaultFilters ? { ...defaultFilters, ...activeFilters } : activeFilters,
12
12
  );
13
13
  return createSelectorCreator(lruMemoize, _.isEqual)(
14
14
  activeFiltersSelector,
15
- _.identity
15
+ _.identity,
16
16
  );
17
17
  };
@@ -5,6 +5,6 @@ const empty = {};
5
5
  export const makeDateFiltersSelector = (dateFilterProp) => {
6
6
  return createSelector(
7
7
  propOr(empty, dateFilterProp),
8
- dateFilterFormatter(dateFilterProp)
8
+ dateFilterFormatter(dateFilterProp),
9
9
  );
10
10
  };
@@ -14,7 +14,7 @@ import { makeDateFiltersSelector } from "./makeDateFiltersSelector";
14
14
 
15
15
  export const queryPropsSelector = createSelectorCreator(lruMemoize, isEqual)(
16
16
  (_state, props) => pick(["defaultFilters", "linkable", "pageSize"])(props),
17
- identity
17
+ identity,
18
18
  );
19
19
 
20
20
  export const makeSearchFiltersSelector = (activeFiltersProp, dateFilterProp) =>
@@ -24,19 +24,19 @@ export const makeSearchFiltersSelector = (activeFiltersProp, dateFilterProp) =>
24
24
  (activeFilters, activeDateFilters) => {
25
25
  const must = omitBy(isEmpty)(activeFilters);
26
26
  return { ...must, ...activeDateFilters };
27
- }
27
+ },
28
28
  );
29
29
 
30
30
  export const makeSearchQuerySelector = (
31
31
  queryProp,
32
32
  activeFiltersProp,
33
33
  dateFilterProp,
34
- options = {}
34
+ options = {},
35
35
  ) => {
36
36
  const { useDomainSearchFilter = false } = options;
37
37
  const searchFiltersSelector = makeSearchFiltersSelector(
38
38
  activeFiltersProp,
39
- dateFilterProp
39
+ dateFilterProp,
40
40
  );
41
41
  const searchQuerySelector = createSelector(
42
42
  prop(queryProp),
@@ -47,10 +47,10 @@ export const makeSearchQuerySelector = (
47
47
  const shouldUseDomainSearchFilter =
48
48
  useDomainSearchFilter || ownProps?.useDomainSearchFilter;
49
49
  const mapDomainFilterKey = (key) =>
50
- shouldUseDomainSearchFilter && key === "taxonomy"
51
- ? "domain_ids"
52
- : key;
53
- const filters = mapKeys(mapDomainFilterKey)(omitBy(isEmpty)(activeFilters));
50
+ shouldUseDomainSearchFilter && key === "taxonomy" ? "domain_ids" : key;
51
+ const filters = mapKeys(mapDomainFilterKey)(
52
+ omitBy(isEmpty)(activeFilters),
53
+ );
54
54
  const q = trim(query)
55
55
  ? {
56
56
  must: filters,
@@ -60,10 +60,10 @@ export const makeSearchQuerySelector = (
60
60
  }
61
61
  : { must: filters, page: page - 1, sort: sort };
62
62
  return getSearchPayload(q, ownProps);
63
- }
63
+ },
64
64
  );
65
65
  return createSelectorCreator(lruMemoize, isEqual)(
66
66
  searchQuerySelector,
67
- identity
67
+ identity,
68
68
  );
69
69
  };
@@ -11,8 +11,5 @@ const createDeepSelector = createSelectorCreator(lruMemoize, _.isEqual);
11
11
  export const makeTagOptionsSelector = (targetType) =>
12
12
  createDeepSelector(
13
13
  _.prop("relationTags"),
14
- _.flow(
15
- _.filter(_.pathEq("value.target_type", targetType)),
16
- tagsToOptions
17
- )
14
+ _.flow(_.filter(_.pathEq("value.target_type", targetType)), tagsToOptions),
18
15
  );
@@ -6,11 +6,11 @@ export const getSubscopes = (allTemplates, mainScope) => {
6
6
  _.filter({ scope: mainScope }),
7
7
  _.map("subscope"),
8
8
  _.uniq,
9
- _.filter((el) => el !== null)
9
+ _.filter((el) => el !== null),
10
10
  )(allTemplates);
11
11
  };
12
12
 
13
13
  export const makeGetSubscopes = (mainScope) =>
14
14
  createSelector(_.prop("allTemplates"), (allTemplates) =>
15
- getSubscopes(allTemplates, mainScope)
15
+ getSubscopes(allTemplates, mainScope),
16
16
  );
@@ -17,7 +17,7 @@ export const columnPredicate = ({ name, fieldSelector }) =>
17
17
  _.isFunction(fieldSelector)
18
18
  ? fieldSelector
19
19
  : _.path(_.defaultTo(name)(fieldSelector)),
20
- isValue
20
+ isValue,
21
21
  );
22
22
 
23
23
  export default columnPredicate;
@@ -10,7 +10,7 @@ import {
10
10
 
11
11
  const relativeDate = ({ unit, value }) => `now-${value}${unit}`;
12
12
 
13
- const sinceDate = ({ name, ...props }) => ({
13
+ const sinceDate = ({ name, ...props }) => ({
14
14
  [name]: { gte: relativeDate(props) },
15
15
  });
16
16
 
@@ -8,7 +8,7 @@ const guessType = _.flow(
8
8
  [_.startsWith("dat"), _.constant("date")],
9
9
  [_.startsWith("tim"), _.constant("timestamp")],
10
10
  [_.stubTrue, _.constant("string")],
11
- ])
11
+ ]),
12
12
  );
13
13
 
14
14
  export const getFieldType = ({ metadata, type }) =>