@finos/legend-application-query 7.0.1 → 8.1.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 (83) hide show
  1. package/lib/LegendQueryAppEvent.d.ts +1 -1
  2. package/lib/LegendQueryAppEvent.d.ts.map +1 -1
  3. package/lib/LegendQueryAppEvent.js +1 -1
  4. package/lib/LegendQueryAppEvent.js.map +1 -1
  5. package/lib/application/LegendQuery.d.ts.map +1 -1
  6. package/lib/application/LegendQuery.js +1 -1
  7. package/lib/application/LegendQuery.js.map +1 -1
  8. package/lib/application/LegendQueryApplicationConfig.d.ts +6 -7
  9. package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
  10. package/lib/application/LegendQueryApplicationConfig.js +9 -4
  11. package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
  12. package/lib/components/LegendQueryApplication.d.ts +1 -2
  13. package/lib/components/LegendQueryApplication.d.ts.map +1 -1
  14. package/lib/components/LegendQueryApplication.js +2 -3
  15. package/lib/components/LegendQueryApplication.js.map +1 -1
  16. package/lib/components/LegendQueryBaseStoreProvider.d.ts +1 -3
  17. package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -1
  18. package/lib/components/LegendQueryBaseStoreProvider.js +2 -2
  19. package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -1
  20. package/lib/components/QueryEditor.d.ts +1 -0
  21. package/lib/components/QueryEditor.d.ts.map +1 -1
  22. package/lib/components/QueryEditor.js +42 -28
  23. package/lib/components/QueryEditor.js.map +1 -1
  24. package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -1
  25. package/lib/components/QueryEditorComponentTestUtils.js +2 -2
  26. package/lib/components/QueryEditorComponentTestUtils.js.map +1 -1
  27. package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -1
  28. package/lib/components/QueryEditorStoreProvider.js +6 -8
  29. package/lib/components/QueryEditorStoreProvider.js.map +1 -1
  30. package/lib/components/QuerySetup.d.ts +6 -0
  31. package/lib/components/QuerySetup.d.ts.map +1 -1
  32. package/lib/components/QuerySetup.js +152 -34
  33. package/lib/components/QuerySetup.js.map +1 -1
  34. package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -1
  35. package/lib/components/QuerySetupStoreProvider.js +2 -3
  36. package/lib/components/QuerySetupStoreProvider.js.map +1 -1
  37. package/lib/index.css +2 -2
  38. package/lib/index.css.map +1 -1
  39. package/lib/index.d.ts +1 -1
  40. package/lib/index.d.ts.map +1 -1
  41. package/lib/index.js +1 -1
  42. package/lib/index.js.map +1 -1
  43. package/lib/package.json +9 -9
  44. package/lib/stores/LegendQueryApplicationPlugin.d.ts +10 -2
  45. package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -1
  46. package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -1
  47. package/lib/stores/LegendQueryBaseStore.d.ts +2 -3
  48. package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -1
  49. package/lib/stores/LegendQueryBaseStore.js +2 -2
  50. package/lib/stores/LegendQueryBaseStore.js.map +1 -1
  51. package/lib/stores/LegendQueryRouter.d.ts +16 -1
  52. package/lib/stores/LegendQueryRouter.d.ts.map +1 -1
  53. package/lib/stores/LegendQueryRouter.js +17 -2
  54. package/lib/stores/LegendQueryRouter.js.map +1 -1
  55. package/lib/stores/QueryEditorStore.d.ts +15 -12
  56. package/lib/stores/QueryEditorStore.d.ts.map +1 -1
  57. package/lib/stores/QueryEditorStore.js +24 -19
  58. package/lib/stores/QueryEditorStore.js.map +1 -1
  59. package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -1
  60. package/lib/stores/QueryEditorStoreTestUtils.js +1 -0
  61. package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -1
  62. package/lib/stores/QuerySetupStore.d.ts +35 -9
  63. package/lib/stores/QuerySetupStore.d.ts.map +1 -1
  64. package/lib/stores/QuerySetupStore.js +188 -17
  65. package/lib/stores/QuerySetupStore.js.map +1 -1
  66. package/package.json +17 -17
  67. package/src/LegendQueryAppEvent.ts +1 -1
  68. package/src/application/LegendQuery.tsx +1 -4
  69. package/src/application/LegendQueryApplicationConfig.ts +30 -10
  70. package/src/components/LegendQueryApplication.tsx +3 -9
  71. package/src/components/LegendQueryBaseStoreProvider.tsx +4 -14
  72. package/src/components/QueryEditor.tsx +77 -61
  73. package/src/components/QueryEditorComponentTestUtils.tsx +1 -6
  74. package/src/components/QueryEditorStoreProvider.tsx +3 -14
  75. package/src/components/QuerySetup.tsx +411 -50
  76. package/src/components/QuerySetupStoreProvider.tsx +2 -11
  77. package/src/index.ts +1 -0
  78. package/src/stores/LegendQueryApplicationPlugin.ts +18 -2
  79. package/src/stores/LegendQueryBaseStore.ts +2 -4
  80. package/src/stores/LegendQueryRouter.ts +35 -2
  81. package/src/stores/QueryEditorStore.ts +34 -30
  82. package/src/stores/QueryEditorStoreTestUtils.ts +1 -0
  83. package/src/stores/QuerySetupStore.ts +275 -20
@@ -28,7 +28,6 @@ import {
28
28
  generateExtensionUrlPattern,
29
29
  LegendApplicationComponentFrameworkProvider,
30
30
  } from '@finos/legend-application';
31
- import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
32
31
  import type { LegendQueryApplicationConfig } from '../application/LegendQueryApplicationConfig.js';
33
32
  import {
34
33
  LegendQueryBaseStoreProvider,
@@ -79,21 +78,16 @@ const LegendQueryApplicationRoot = observer(() => {
79
78
  });
80
79
 
81
80
  export const LegendQueryApplication = observer(
82
- (props: {
83
- config: LegendQueryApplicationConfig;
84
- pluginManager: LegendQueryPluginManager;
85
- }) => {
86
- const { config, pluginManager } = props;
81
+ (props: { config: LegendQueryApplicationConfig }) => {
82
+ const { config } = props;
87
83
 
88
84
  return (
89
85
  <DepotServerClientProvider
90
86
  config={{
91
87
  serverUrl: config.depotServerUrl,
92
- TEMPORARY__useLegacyDepotServerAPIRoutes:
93
- config.TEMPORARY__useLegacyDepotServerAPIRoutes,
94
88
  }}
95
89
  >
96
- <LegendQueryBaseStoreProvider pluginManager={pluginManager}>
90
+ <LegendQueryBaseStoreProvider>
97
91
  <LegendApplicationComponentFrameworkProvider>
98
92
  <LegendQueryApplicationRoot />
99
93
  </LegendApplicationComponentFrameworkProvider>
@@ -21,7 +21,6 @@ import { guaranteeNonNullable } from '@finos/legend-shared';
21
21
  import { useDepotServerClient } from '@finos/legend-server-depot';
22
22
  import type { LegendQueryPluginManager } from '../application/LegendQueryPluginManager.js';
23
23
  import type { LegendQueryApplicationConfig } from '../application/LegendQueryApplicationConfig.js';
24
- import type { LegendQueryApplicationPlugin } from '../stores/LegendQueryApplicationPlugin.js';
25
24
  import {
26
25
  type ApplicationStore,
27
26
  useApplicationStore,
@@ -29,12 +28,9 @@ import {
29
28
 
30
29
  export const useLegendQueryApplicationStore = (): ApplicationStore<
31
30
  LegendQueryApplicationConfig,
32
- LegendQueryApplicationPlugin
31
+ LegendQueryPluginManager
33
32
  > =>
34
- useApplicationStore<
35
- LegendQueryApplicationConfig,
36
- LegendQueryApplicationPlugin
37
- >();
33
+ useApplicationStore<LegendQueryApplicationConfig, LegendQueryPluginManager>();
38
34
 
39
35
  const LegendQueryBaseStoreContext = createContext<
40
36
  LegendQueryBaseStore | undefined
@@ -42,17 +38,11 @@ const LegendQueryBaseStoreContext = createContext<
42
38
 
43
39
  export const LegendQueryBaseStoreProvider: React.FC<{
44
40
  children: React.ReactNode;
45
- pluginManager: LegendQueryPluginManager;
46
- }> = ({ children, pluginManager }) => {
41
+ }> = ({ children }) => {
47
42
  const applicationStore = useLegendQueryApplicationStore();
48
43
  const depotServerClient = useDepotServerClient();
49
44
  const store = useLocalObservable(
50
- () =>
51
- new LegendQueryBaseStore(
52
- applicationStore,
53
- depotServerClient,
54
- pluginManager,
55
- ),
45
+ () => new LegendQueryBaseStore(applicationStore, depotServerClient),
56
46
  );
57
47
  return (
58
48
  <LegendQueryBaseStoreContext.Provider value={store}>
@@ -30,10 +30,11 @@ import {
30
30
  TimesIcon,
31
31
  CheckSquareIcon,
32
32
  SquareIcon,
33
+ ManageSearchIcon,
33
34
  } from '@finos/legend-art';
34
35
  import { debounce, getQueryParameters } from '@finos/legend-shared';
35
36
  import { observer } from 'mobx-react-lite';
36
- import { useEffect, useMemo, useRef, useState } from 'react';
37
+ import { Fragment, useEffect, useMemo, useRef, useState } from 'react';
37
38
  import { useParams } from 'react-router';
38
39
  import {
39
40
  type MappingQueryCreatorPathParams,
@@ -43,7 +44,7 @@ import {
43
44
  LEGEND_QUERY_ROUTE_PATTERN,
44
45
  LEGEND_QUERY_QUERY_PARAM_TOKEN,
45
46
  LEGEND_QUERY_PATH_PARAM_TOKEN,
46
- generateStudioProjectViewUrl,
47
+ EXTERNAL_APPLICATION_NAVIGATION__generateStudioProjectViewUrl,
47
48
  generateExistingQueryEditorRoute,
48
49
  } from '../stores/LegendQueryRouter.js';
49
50
  import {
@@ -53,10 +54,7 @@ import {
53
54
  QueryExportState,
54
55
  ServiceQueryCreatorStore,
55
56
  } from '../stores/QueryEditorStore.js';
56
- import {
57
- type ApplicationStore,
58
- useApplicationStore,
59
- } from '@finos/legend-application';
57
+ import { useApplicationStore } from '@finos/legend-application';
60
58
  import {
61
59
  MappingQueryCreatorStoreProvider,
62
60
  ExistingQueryEditorStoreProvider,
@@ -69,8 +67,6 @@ import {
69
67
  } from '@finos/legend-graph';
70
68
  import { flowResult } from 'mobx';
71
69
  import { useLegendQueryApplicationStore } from './LegendQueryBaseStoreProvider.js';
72
- import type { LegendQueryApplicationConfig } from '../application/LegendQueryApplicationConfig.js';
73
- import type { LegendQueryApplicationPlugin } from '../stores/LegendQueryApplicationPlugin.js';
74
70
  import {
75
71
  QueryBuilder,
76
72
  type QueryBuilderState,
@@ -204,33 +200,16 @@ const renderQueryEditorHeaderLabel = (
204
200
  const QueryLoader = observer(
205
201
  (props: {
206
202
  editorStore: QueryEditorStore;
207
- applicationStore: ApplicationStore<
208
- LegendQueryApplicationConfig,
209
- LegendQueryApplicationPlugin
210
- >;
203
+ queryBuilderState: QueryBuilderState;
211
204
  }) => {
212
- const { editorStore, applicationStore } = props;
205
+ const { editorStore, queryBuilderState } = props;
206
+ const applicationStore = useApplicationStore();
213
207
  const queryFinderRef = useRef<SelectComponent>(null);
214
208
  const searchInputRef = useRef<HTMLInputElement>(null);
215
209
  const [selectedQueryID, setSelectedQueryID] = useState('');
216
210
  const [isMineOnly, setIsMineOnly] = useState(false);
217
211
  const [searchText, setSearchText] = useState('');
218
- const closeQueryImporter = (): void => {
219
- editorStore.queryLoaderState.setIsQueryLoaderOpen(false);
220
- };
221
- const handleEnterQueryImporter = (): void =>
222
- queryFinderRef.current?.focus();
223
- const toggleIsMineOnly = (): void => {
224
- setIsMineOnly(!isMineOnly);
225
- };
226
- const loadSelectedQuery = (): void => {
227
- if (selectedQueryID) {
228
- editorStore.queryLoaderState.setIsQueryLoaderOpen(false);
229
- applicationStore.navigator.jumpTo(
230
- generateExistingQueryEditorRoute(selectedQueryID),
231
- );
232
- }
233
- };
212
+
234
213
  // search text
235
214
  const debouncedLoadQueries = useMemo(
236
215
  () =>
@@ -255,6 +234,14 @@ const QueryLoader = observer(
255
234
  debouncedLoadQueries.cancel();
256
235
  debouncedLoadQueries('');
257
236
  };
237
+ const toggleShowCurrentUserQueriesOnly = (): void => {
238
+ editorStore.queryLoaderState.setShowCurrentUserQueriesOnly(
239
+ !editorStore.queryLoaderState.showCurrentUserQueriesOnly,
240
+ );
241
+ setIsMineOnly(!isMineOnly);
242
+ debouncedLoadQueries.cancel();
243
+ debouncedLoadQueries(searchText);
244
+ };
258
245
 
259
246
  useEffect(() => {
260
247
  flowResult(editorStore.queryLoaderState.loadQueries('')).catch(
@@ -262,12 +249,34 @@ const QueryLoader = observer(
262
249
  );
263
250
  }, [applicationStore, editorStore.queryLoaderState]);
264
251
 
252
+ // actions
253
+ const loadQuery = (): void => {
254
+ if (selectedQueryID) {
255
+ if (queryBuilderState.changeDetectionState.hasChanged) {
256
+ queryBuilderState.changeDetectionState.alertUnsavedChanges(() => {
257
+ editorStore.queryLoaderState.setIsQueryLoaderOpen(false);
258
+ applicationStore.navigator.jumpTo(
259
+ applicationStore.navigator.generateLocation(
260
+ generateExistingQueryEditorRoute(selectedQueryID),
261
+ ),
262
+ );
263
+ });
264
+ }
265
+ }
266
+ };
267
+
268
+ // life-cycle
269
+ const close = (): void => {
270
+ editorStore.queryLoaderState.setIsQueryLoaderOpen(false);
271
+ };
272
+ const onEnter = (): void => queryFinderRef.current?.focus();
273
+
265
274
  return (
266
275
  <Dialog
267
276
  open={editorStore.queryLoaderState.isQueryLoaderOpen}
268
- onClose={closeQueryImporter}
277
+ onClose={close}
269
278
  TransitionProps={{
270
- onEnter: handleEnterQueryImporter,
279
+ onEnter,
271
280
  }}
272
281
  classes={{ container: 'search-modal__container' }}
273
282
  PaperProps={{ classes: { root: 'search-modal__inner-container' } }}
@@ -284,14 +293,14 @@ const QueryLoader = observer(
284
293
  isMineOnly,
285
294
  },
286
295
  )}
287
- onClick={toggleIsMineOnly}
296
+ onClick={toggleShowCurrentUserQueriesOnly}
288
297
  tabIndex={-1}
289
298
  >
290
299
  {isMineOnly ? <CheckSquareIcon /> : <SquareIcon />}
291
300
  </button>
292
301
  <div
293
302
  className="query-editor__query-loader__filter-section__section__toggler__prompt"
294
- onClick={toggleIsMineOnly}
303
+ onClick={toggleShowCurrentUserQueriesOnly}
295
304
  >
296
305
  Mine Only
297
306
  </div>
@@ -344,12 +353,7 @@ const QueryLoader = observer(
344
353
  </tr>
345
354
  </thead>
346
355
  <tbody>
347
- {(isMineOnly
348
- ? editorStore.queryLoaderState.queries.filter(
349
- (q) => q.isCurrentUserQuery,
350
- )
351
- : editorStore.queryLoaderState.queries
352
- ).map((query) => (
356
+ {editorStore.queryLoaderState.queries.map((query) => (
353
357
  <tr
354
358
  key={query.id}
355
359
  className={clsx(
@@ -393,12 +397,12 @@ const QueryLoader = observer(
393
397
  <div className="search-modal__actions">
394
398
  <button
395
399
  className="btn btn--dark"
396
- onClick={loadSelectedQuery}
400
+ onClick={loadQuery}
397
401
  disabled={selectedQueryID === ''}
398
402
  >
399
403
  Load Query
400
404
  </button>
401
- <button className="btn btn--dark" onClick={closeQueryImporter}>
405
+ <button className="btn btn--dark" onClick={close}>
402
406
  Close
403
407
  </button>
404
408
  </div>
@@ -413,13 +417,15 @@ const QueryEditorHeaderContent = observer(
413
417
  const { queryBuilderState } = props;
414
418
  const editorStore = useQueryEditorStore();
415
419
  const applicationStore = useLegendQueryApplicationStore();
420
+
421
+ // actions
416
422
  const openQueryLoader = (): void => {
417
423
  editorStore.queryLoaderState.setIsQueryLoaderOpen(true);
418
424
  };
419
425
  const viewQueryProject = (): void => {
420
426
  const { groupId, artifactId, versionId } = editorStore.getProjectInfo();
421
427
  applicationStore.navigator.openNewWindow(
422
- generateStudioProjectViewUrl(
428
+ EXTERNAL_APPLICATION_NAVIGATION__generateStudioProjectViewUrl(
423
429
  applicationStore.config.studioUrl,
424
430
  groupId,
425
431
  artifactId,
@@ -428,7 +434,7 @@ const QueryEditorHeaderContent = observer(
428
434
  ),
429
435
  );
430
436
  };
431
- const toggleLightDarkTheme = (): void =>
437
+ const toggleLightDarkMode = (): void =>
432
438
  applicationStore.TEMPORARY__setIsLightThemeEnabled(
433
439
  !applicationStore.TEMPORARY__isLightThemeEnabled,
434
440
  );
@@ -453,17 +459,35 @@ const QueryEditorHeaderContent = observer(
453
459
  {renderQueryEditorHeaderLabel(editorStore)}
454
460
  </div>
455
461
  <div className="query-editor__header__actions">
462
+ {editorStore instanceof ExistingQueryEditorStore &&
463
+ applicationStore.pluginManager
464
+ .getApplicationPlugins()
465
+ .flatMap(
466
+ (plugin) =>
467
+ plugin.getExtraExistingQueryActionRendererConfiguration?.() ??
468
+ [],
469
+ )
470
+ .map((actionConfig) => (
471
+ <Fragment key={actionConfig.key}>
472
+ {actionConfig.renderer(editorStore, queryBuilderState)}
473
+ </Fragment>
474
+ ))}
456
475
  <button
457
476
  className="query-editor__header__action btn--dark"
458
477
  tabIndex={-1}
459
478
  onClick={openQueryLoader}
479
+ title="Load query..."
460
480
  >
461
- <div className="query-editor__header__action__label">
462
- Load Query
463
- </div>
481
+ <ManageSearchIcon className="query-editor__header__action__icon--loader" />
464
482
  </button>
483
+ {editorStore.queryLoaderState.isQueryLoaderOpen && (
484
+ <QueryLoader
485
+ editorStore={editorStore}
486
+ queryBuilderState={queryBuilderState}
487
+ />
488
+ )}
465
489
  <button
466
- className="query-editor__header__action query-editor__header__action--simple btn--dark"
490
+ className="query-editor__header__action btn--dark"
467
491
  tabIndex={-1}
468
492
  title="View project"
469
493
  onClick={viewQueryProject}
@@ -472,10 +496,10 @@ const QueryEditorHeaderContent = observer(
472
496
  </button>
473
497
  {applicationStore.config.options.TEMPORARY__enableThemeSwitcher && (
474
498
  <button
475
- className="query-editor__header__action query-editor__header__action--simple btn--dark"
499
+ className="query-editor__header__action btn--dark"
476
500
  tabIndex={-1}
477
- title="Toggle Light/Dark Theme"
478
- onClick={toggleLightDarkTheme}
501
+ title="Toggle light/dark mode"
502
+ onClick={toggleLightDarkMode}
479
503
  >
480
504
  {applicationStore.TEMPORARY__isLightThemeEnabled ? (
481
505
  <EmptyLightBulbIcon />
@@ -484,23 +508,15 @@ const QueryEditorHeaderContent = observer(
484
508
  )}
485
509
  </button>
486
510
  )}
487
- {editorStore.queryLoaderState.isQueryLoaderOpen && (
488
- <QueryLoader
489
- editorStore={editorStore}
490
- applicationStore={applicationStore}
491
- />
492
- )}
493
511
  <button
494
512
  className="query-editor__header__action btn--dark"
495
513
  tabIndex={-1}
496
514
  onClick={saveQuery}
515
+ title="Save query"
497
516
  >
498
- <div className="query-editor__header__action__icon">
499
- <SaveIcon />
500
- <QueryExport />
501
- </div>
502
- <div className="query-editor__header__action__label">Save</div>
517
+ <SaveIcon />
503
518
  </button>
519
+ {editorStore.exportState && <QueryExport />}
504
520
  </div>
505
521
  </div>
506
522
  );
@@ -57,11 +57,7 @@ import {
57
57
  export const TEST__LegendQueryBaseStoreProvider: React.FC<{
58
58
  children: React.ReactNode;
59
59
  }> = ({ children }) => (
60
- <LegendQueryBaseStoreProvider
61
- pluginManager={LegendQueryPluginManager.create()}
62
- >
63
- {children}
64
- </LegendQueryBaseStoreProvider>
60
+ <LegendQueryBaseStoreProvider>{children}</LegendQueryBaseStoreProvider>
65
61
  );
66
62
 
67
63
  const TEST_QUERY_ID = 'test-query-id';
@@ -84,7 +80,6 @@ export const TEST__provideMockedQueryEditorStore = (customization?: {
84
80
  pluginManager,
85
81
  ),
86
82
  customization?.depotServerClient ?? TEST__getTestDepotServerClient(),
87
- pluginManager,
88
83
  TEST_QUERY_ID,
89
84
  );
90
85
  const MOCK__QueryEditorStoreProvider = require('./QueryEditorStoreProvider.js'); // eslint-disable-line @typescript-eslint/no-unsafe-assignment
@@ -23,14 +23,9 @@ import {
23
23
  ExistingQueryEditorStore,
24
24
  ServiceQueryCreatorStore,
25
25
  } from '../stores/QueryEditorStore.js';
26
- import {
27
- parseGAVCoordinates,
28
- useDepotServerClient,
29
- } from '@finos/legend-server-depot';
30
- import {
31
- useLegendQueryApplicationStore,
32
- useLegendQueryBaseStore,
33
- } from './LegendQueryBaseStoreProvider.js';
26
+ import { useDepotServerClient } from '@finos/legend-server-depot';
27
+ import { useLegendQueryApplicationStore } from './LegendQueryBaseStoreProvider.js';
28
+ import { parseGAVCoordinates } from '@finos/legend-storage';
34
29
 
35
30
  export const QueryEditorStoreContext = createContext<
36
31
  QueryEditorStore | undefined
@@ -42,13 +37,11 @@ export const ExistingQueryEditorStoreProvider: React.FC<{
42
37
  }> = ({ children, queryId }) => {
43
38
  const applicationStore = useLegendQueryApplicationStore();
44
39
  const depotServerClient = useDepotServerClient();
45
- const baseStore = useLegendQueryBaseStore();
46
40
  const store = useLocalObservable(
47
41
  () =>
48
42
  new ExistingQueryEditorStore(
49
43
  applicationStore,
50
44
  depotServerClient,
51
- baseStore.pluginManager,
52
45
  queryId,
53
46
  ),
54
47
  );
@@ -68,13 +61,11 @@ export const MappingQueryCreatorStoreProvider: React.FC<{
68
61
  const { groupId, artifactId, versionId } = parseGAVCoordinates(gav);
69
62
  const applicationStore = useLegendQueryApplicationStore();
70
63
  const depotServerClient = useDepotServerClient();
71
- const baseStore = useLegendQueryBaseStore();
72
64
  const store = useLocalObservable(
73
65
  () =>
74
66
  new MappingQueryCreatorStore(
75
67
  applicationStore,
76
68
  depotServerClient,
77
- baseStore.pluginManager,
78
69
  groupId,
79
70
  artifactId,
80
71
  versionId,
@@ -98,13 +89,11 @@ export const ServiceQueryCreatorStoreProvider: React.FC<{
98
89
  const { groupId, artifactId, versionId } = parseGAVCoordinates(gav);
99
90
  const applicationStore = useLegendQueryApplicationStore();
100
91
  const depotServerClient = useDepotServerClient();
101
- const baseStore = useLegendQueryBaseStore();
102
92
  const store = useLocalObservable(
103
93
  () =>
104
94
  new ServiceQueryCreatorStore(
105
95
  applicationStore,
106
96
  depotServerClient,
107
- baseStore.pluginManager,
108
97
  groupId,
109
98
  artifactId,
110
99
  versionId,