@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.
- package/lib/LegendQueryAppEvent.d.ts +1 -1
- package/lib/LegendQueryAppEvent.d.ts.map +1 -1
- package/lib/LegendQueryAppEvent.js +1 -1
- package/lib/LegendQueryAppEvent.js.map +1 -1
- package/lib/application/LegendQuery.d.ts.map +1 -1
- package/lib/application/LegendQuery.js +1 -1
- package/lib/application/LegendQuery.js.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.d.ts +6 -7
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +9 -4
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/components/LegendQueryApplication.d.ts +1 -2
- package/lib/components/LegendQueryApplication.d.ts.map +1 -1
- package/lib/components/LegendQueryApplication.js +2 -3
- package/lib/components/LegendQueryApplication.js.map +1 -1
- package/lib/components/LegendQueryBaseStoreProvider.d.ts +1 -3
- package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -1
- package/lib/components/LegendQueryBaseStoreProvider.js +2 -2
- package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -1
- package/lib/components/QueryEditor.d.ts +1 -0
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +42 -28
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -1
- package/lib/components/QueryEditorComponentTestUtils.js +2 -2
- package/lib/components/QueryEditorComponentTestUtils.js.map +1 -1
- package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -1
- package/lib/components/QueryEditorStoreProvider.js +6 -8
- package/lib/components/QueryEditorStoreProvider.js.map +1 -1
- package/lib/components/QuerySetup.d.ts +6 -0
- package/lib/components/QuerySetup.d.ts.map +1 -1
- package/lib/components/QuerySetup.js +152 -34
- package/lib/components/QuerySetup.js.map +1 -1
- package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -1
- package/lib/components/QuerySetupStoreProvider.js +2 -3
- package/lib/components/QuerySetupStoreProvider.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -1
- package/lib/index.js.map +1 -1
- package/lib/package.json +9 -9
- package/lib/stores/LegendQueryApplicationPlugin.d.ts +10 -2
- package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/stores/LegendQueryBaseStore.d.ts +2 -3
- package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -1
- package/lib/stores/LegendQueryBaseStore.js +2 -2
- package/lib/stores/LegendQueryBaseStore.js.map +1 -1
- package/lib/stores/LegendQueryRouter.d.ts +16 -1
- package/lib/stores/LegendQueryRouter.d.ts.map +1 -1
- package/lib/stores/LegendQueryRouter.js +17 -2
- package/lib/stores/LegendQueryRouter.js.map +1 -1
- package/lib/stores/QueryEditorStore.d.ts +15 -12
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +24 -19
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -1
- package/lib/stores/QueryEditorStoreTestUtils.js +1 -0
- package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -1
- package/lib/stores/QuerySetupStore.d.ts +35 -9
- package/lib/stores/QuerySetupStore.d.ts.map +1 -1
- package/lib/stores/QuerySetupStore.js +188 -17
- package/lib/stores/QuerySetupStore.js.map +1 -1
- package/package.json +17 -17
- package/src/LegendQueryAppEvent.ts +1 -1
- package/src/application/LegendQuery.tsx +1 -4
- package/src/application/LegendQueryApplicationConfig.ts +30 -10
- package/src/components/LegendQueryApplication.tsx +3 -9
- package/src/components/LegendQueryBaseStoreProvider.tsx +4 -14
- package/src/components/QueryEditor.tsx +77 -61
- package/src/components/QueryEditorComponentTestUtils.tsx +1 -6
- package/src/components/QueryEditorStoreProvider.tsx +3 -14
- package/src/components/QuerySetup.tsx +411 -50
- package/src/components/QuerySetupStoreProvider.tsx +2 -11
- package/src/index.ts +1 -0
- package/src/stores/LegendQueryApplicationPlugin.ts +18 -2
- package/src/stores/LegendQueryBaseStore.ts +2 -4
- package/src/stores/LegendQueryRouter.ts +35 -2
- package/src/stores/QueryEditorStore.ts +34 -30
- package/src/stores/QueryEditorStoreTestUtils.ts +1 -0
- 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
|
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
|
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
|
-
|
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
|
-
|
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
|
-
|
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
|
-
|
208
|
-
LegendQueryApplicationConfig,
|
209
|
-
LegendQueryApplicationPlugin
|
210
|
-
>;
|
203
|
+
queryBuilderState: QueryBuilderState;
|
211
204
|
}) => {
|
212
|
-
const { editorStore,
|
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
|
-
|
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={
|
277
|
+
onClose={close}
|
269
278
|
TransitionProps={{
|
270
|
-
onEnter
|
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={
|
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={
|
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
|
-
{(
|
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={
|
400
|
+
onClick={loadQuery}
|
397
401
|
disabled={selectedQueryID === ''}
|
398
402
|
>
|
399
403
|
Load Query
|
400
404
|
</button>
|
401
|
-
<button className="btn btn--dark" onClick={
|
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
|
-
|
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
|
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
|
-
<
|
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
|
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
|
499
|
+
className="query-editor__header__action btn--dark"
|
476
500
|
tabIndex={-1}
|
477
|
-
title="Toggle
|
478
|
-
onClick={
|
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
|
-
<
|
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
|
-
|
28
|
-
|
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,
|