@finos/legend-application-query 13.4.12 → 13.4.14
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/components/Core_LegendQueryApplicationPlugin.d.ts +5 -0
- package/lib/components/Core_LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/components/Core_LegendQueryApplicationPlugin.js +201 -4
- package/lib/components/Core_LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/components/QueryEditor.d.ts +8 -0
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +25 -140
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.d.ts.map +1 -1
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.js +2 -0
- package/lib/components/__test-utils__/QueryEditorComponentTestUtils.js.map +1 -1
- package/lib/components/data-space/DataSpaceQuerySetup.d.ts.map +1 -1
- package/lib/components/data-space/DataSpaceQuerySetup.js +7 -6
- package/lib/components/data-space/DataSpaceQuerySetup.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/LegendQueryApplicationPlugin.d.ts +4 -12
- package/lib/stores/LegendQueryApplicationPlugin.d.ts.map +1 -1
- package/lib/stores/LegendQueryApplicationPlugin.js +1 -0
- package/lib/stores/LegendQueryApplicationPlugin.js.map +1 -1
- package/lib/stores/QueryEditorStore.d.ts +7 -1
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +18 -4
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/__test-utils__/LegendQueryApplicationTestUtils.js +1 -1
- package/lib/stores/__test-utils__/LegendQueryApplicationTestUtils.js.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.js +2 -2
- package/lib/stores/data-space/DataSpaceQueryCreatorStore.js.map +1 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.d.ts +2 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceQuerySetupState.js +6 -3
- package/lib/stores/data-space/DataSpaceQuerySetupState.js.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.d.ts.map +1 -1
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js +2 -2
- package/lib/stores/data-space/DataSpaceTemplateQueryCreatorStore.js.map +1 -1
- package/package.json +6 -6
- package/src/components/Core_LegendQueryApplicationPlugin.tsx +406 -1
- package/src/components/QueryEditor.tsx +111 -507
- package/src/components/__test-utils__/QueryEditorComponentTestUtils.tsx +2 -0
- package/src/components/data-space/DataSpaceQuerySetup.tsx +52 -53
- package/src/index.ts +2 -2
- package/src/stores/{LegendQueryApplicationPlugin.ts → LegendQueryApplicationPlugin.tsx} +11 -18
- package/src/stores/QueryEditorStore.ts +23 -0
- package/src/stores/__test-utils__/LegendQueryApplicationTestUtils.ts +1 -1
- package/src/stores/data-space/DataSpaceQueryCreatorStore.ts +2 -0
- package/src/stores/data-space/DataSpaceQuerySetupState.ts +8 -0
- package/src/stores/data-space/DataSpaceTemplateQueryCreatorStore.ts +2 -0
- package/tsconfig.json +2 -4
- package/lib/__lib__/LegendQueryTesting.d.ts +0 -19
- package/lib/__lib__/LegendQueryTesting.d.ts.map +0 -1
- package/lib/__lib__/LegendQueryTesting.js +0 -20
- package/lib/__lib__/LegendQueryTesting.js.map +0 -1
- package/lib/application/LegendQueryDocumentation.d.ts +0 -19
- package/lib/application/LegendQueryDocumentation.d.ts.map +0 -1
- package/lib/application/LegendQueryDocumentation.js +0 -20
- package/lib/application/LegendQueryDocumentation.js.map +0 -1
- package/src/__lib__/LegendQueryTesting.ts +0 -19
- package/src/application/LegendQueryDocumentation.ts +0 -19
@@ -23,10 +23,20 @@ import packageJson from '../../package.json' assert { type: 'json' };
|
|
23
23
|
import type { QuerySetupLandingPageStore } from '../stores/QuerySetupStore.js';
|
24
24
|
import {
|
25
25
|
ArrowCircleUpIcon,
|
26
|
+
Button,
|
27
|
+
CaretDownIcon,
|
26
28
|
DroidIcon,
|
29
|
+
DropdownMenu,
|
30
|
+
InfoCircleIcon,
|
27
31
|
ManageSearchIcon,
|
32
|
+
MenuContent,
|
33
|
+
MenuContentItem,
|
34
|
+
MenuContentItemIcon,
|
35
|
+
MenuContentItemLabel,
|
28
36
|
PlusIcon,
|
29
37
|
RobotIcon,
|
38
|
+
SaveAsIcon,
|
39
|
+
SaveCurrIcon,
|
30
40
|
SquareIcon,
|
31
41
|
} from '@finos/legend-art';
|
32
42
|
import {
|
@@ -34,6 +44,7 @@ import {
|
|
34
44
|
generateCreateMappingQuerySetupRoute,
|
35
45
|
generateEditExistingQuerySetupRoute,
|
36
46
|
generateLoadProjectServiceQuerySetup,
|
47
|
+
generateMappingQueryCreatorRoute,
|
37
48
|
generateQueryProductionizerSetupRoute,
|
38
49
|
generateUpdateExistingServiceQuerySetup,
|
39
50
|
LEGEND_QUERY_ROUTE_PATTERN,
|
@@ -50,7 +61,31 @@ import {
|
|
50
61
|
configureCodeEditorComponent,
|
51
62
|
setupPureLanguageService,
|
52
63
|
} from '@finos/legend-lego/code-editor';
|
53
|
-
import {
|
64
|
+
import {
|
65
|
+
generateDataSpaceQueryCreatorRoute,
|
66
|
+
generateDataSpaceQuerySetupRoute,
|
67
|
+
} from '../__lib__/DSL_DataSpace_LegendQueryNavigation.js';
|
68
|
+
import type {
|
69
|
+
QueryBuilderHeaderActionConfiguration,
|
70
|
+
QueryBuilderMenuActionConfiguration,
|
71
|
+
} from '@finos/legend-query-builder';
|
72
|
+
import {
|
73
|
+
ExistingQueryEditorStore,
|
74
|
+
QueryBuilderActionConfig_QueryApplication,
|
75
|
+
createViewProjectHandler,
|
76
|
+
createViewSDLCProjectHandler,
|
77
|
+
} from '../stores/QueryEditorStore.js';
|
78
|
+
import {
|
79
|
+
DataSpaceQueryBuilderState,
|
80
|
+
generateDataSpaceTemplateQueryPromotionRoute,
|
81
|
+
} from '@finos/legend-extension-dsl-data-space/application';
|
82
|
+
import { RuntimePointer } from '@finos/legend-graph';
|
83
|
+
import { LegendQueryTelemetryHelper } from '../__lib__/LegendQueryTelemetryHelper.js';
|
84
|
+
import { StoreProjectData } from '@finos/legend-server-depot';
|
85
|
+
import { buildUrl } from '@finos/legend-shared';
|
86
|
+
import { parseProjectIdentifier } from '@finos/legend-storage';
|
87
|
+
import { QueryEditorExistingQueryHeader } from './QueryEditor.js';
|
88
|
+
import { DataSpaceTemplateQueryCreatorStore } from '../stores/data-space/DataSpaceTemplateQueryCreatorStore.js';
|
54
89
|
|
55
90
|
export class Core_LegendQueryApplicationPlugin extends LegendQueryApplicationPlugin {
|
56
91
|
static NAME = packageJson.extensions.applicationQueryPlugin;
|
@@ -203,4 +238,374 @@ export class Core_LegendQueryApplicationPlugin extends LegendQueryApplicationPlu
|
|
203
238
|
},
|
204
239
|
];
|
205
240
|
}
|
241
|
+
getExtraQueryBuilderExportMenuActionConfigurations?(): QueryBuilderMenuActionConfiguration[] {
|
242
|
+
return [
|
243
|
+
{
|
244
|
+
key: 'promote-as-template-query',
|
245
|
+
title: 'Promote Curated Template query...',
|
246
|
+
label: 'Curated Template Query',
|
247
|
+
onClick: (queryBuilderState): void => {
|
248
|
+
if (
|
249
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
250
|
+
QueryBuilderActionConfig_QueryApplication
|
251
|
+
) {
|
252
|
+
const editorStore =
|
253
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
254
|
+
const proceedCuratedTemplateQueryPromotion =
|
255
|
+
async (): Promise<void> => {
|
256
|
+
if (
|
257
|
+
!(
|
258
|
+
editorStore instanceof ExistingQueryEditorStore &&
|
259
|
+
queryBuilderState instanceof DataSpaceQueryBuilderState
|
260
|
+
)
|
261
|
+
) {
|
262
|
+
return;
|
263
|
+
}
|
264
|
+
// fetch project data
|
265
|
+
const project = StoreProjectData.serialization.fromJson(
|
266
|
+
await editorStore.depotServerClient.getProject(
|
267
|
+
editorStore.lightQuery.groupId,
|
268
|
+
editorStore.lightQuery.artifactId,
|
269
|
+
),
|
270
|
+
);
|
271
|
+
|
272
|
+
// find the matching SDLC instance
|
273
|
+
const projectIDPrefix = parseProjectIdentifier(
|
274
|
+
project.projectId,
|
275
|
+
).prefix;
|
276
|
+
const matchingSDLCEntry =
|
277
|
+
editorStore.applicationStore.config.studioInstances.find(
|
278
|
+
(entry) => entry.sdlcProjectIDPrefix === projectIDPrefix,
|
279
|
+
);
|
280
|
+
if (matchingSDLCEntry) {
|
281
|
+
editorStore.applicationStore.navigationService.navigator.visitAddress(
|
282
|
+
buildUrl([
|
283
|
+
editorStore.applicationStore.config.studioApplicationUrl,
|
284
|
+
generateDataSpaceTemplateQueryPromotionRoute(
|
285
|
+
editorStore.lightQuery.groupId,
|
286
|
+
editorStore.lightQuery.artifactId,
|
287
|
+
editorStore.lightQuery.versionId,
|
288
|
+
queryBuilderState.dataSpace.path,
|
289
|
+
editorStore.lightQuery.id,
|
290
|
+
),
|
291
|
+
]),
|
292
|
+
);
|
293
|
+
} else {
|
294
|
+
editorStore.applicationStore.notificationService.notifyWarning(
|
295
|
+
`Can't find the corresponding SDLC instance to productionize the query`,
|
296
|
+
);
|
297
|
+
}
|
298
|
+
};
|
299
|
+
|
300
|
+
queryBuilderState.changeDetectionState.alertUnsavedChanges(() => {
|
301
|
+
proceedCuratedTemplateQueryPromotion().catch(
|
302
|
+
editorStore.applicationStore.alertUnhandledError,
|
303
|
+
);
|
304
|
+
});
|
305
|
+
}
|
306
|
+
},
|
307
|
+
icon: <ArrowCircleUpIcon />,
|
308
|
+
},
|
309
|
+
];
|
310
|
+
}
|
311
|
+
|
312
|
+
getExtraQueryBuilderHelpMenuActionConfigurations?(): QueryBuilderMenuActionConfiguration[] {
|
313
|
+
return [
|
314
|
+
{
|
315
|
+
key: 'about-query-info',
|
316
|
+
title: 'Get Query Info',
|
317
|
+
label: 'About Query Info',
|
318
|
+
onClick: (queryBuilderState): void => {
|
319
|
+
if (
|
320
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
321
|
+
QueryBuilderActionConfig_QueryApplication
|
322
|
+
) {
|
323
|
+
const editorStore =
|
324
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
325
|
+
if (editorStore instanceof ExistingQueryEditorStore) {
|
326
|
+
editorStore.updateState.setShowQueryInfo(true);
|
327
|
+
}
|
328
|
+
}
|
329
|
+
},
|
330
|
+
icon: <InfoCircleIcon />,
|
331
|
+
},
|
332
|
+
{
|
333
|
+
key: 'about-query-project',
|
334
|
+
title: 'Go to Project',
|
335
|
+
label: 'Go to Project',
|
336
|
+
onClick: (queryBuilderState): void => {
|
337
|
+
if (
|
338
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
339
|
+
QueryBuilderActionConfig_QueryApplication
|
340
|
+
) {
|
341
|
+
const editorStore =
|
342
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
343
|
+
LegendQueryTelemetryHelper.logEvent_QueryViewProjectLaunched(
|
344
|
+
editorStore.applicationStore.telemetryService,
|
345
|
+
);
|
346
|
+
const { groupId, artifactId, versionId } =
|
347
|
+
editorStore.getProjectInfo();
|
348
|
+
createViewProjectHandler(editorStore.applicationStore)(
|
349
|
+
groupId,
|
350
|
+
artifactId,
|
351
|
+
versionId,
|
352
|
+
undefined,
|
353
|
+
);
|
354
|
+
}
|
355
|
+
},
|
356
|
+
icon: <InfoCircleIcon />,
|
357
|
+
},
|
358
|
+
{
|
359
|
+
key: 'about-query-sdlc-project',
|
360
|
+
title: 'Go to SDLC Project',
|
361
|
+
label: 'Go to SDLC Project',
|
362
|
+
onClick: (queryBuilderState): void => {
|
363
|
+
if (
|
364
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
365
|
+
QueryBuilderActionConfig_QueryApplication
|
366
|
+
) {
|
367
|
+
const editorStore =
|
368
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
369
|
+
LegendQueryTelemetryHelper.logEvent_QueryViewSdlcProjectLaunched(
|
370
|
+
editorStore.applicationStore.telemetryService,
|
371
|
+
);
|
372
|
+
const { groupId, artifactId } = editorStore.getProjectInfo();
|
373
|
+
createViewSDLCProjectHandler(
|
374
|
+
editorStore.applicationStore,
|
375
|
+
editorStore.depotServerClient,
|
376
|
+
)(groupId, artifactId, undefined).catch(
|
377
|
+
editorStore.applicationStore.alertUnhandledError,
|
378
|
+
);
|
379
|
+
}
|
380
|
+
},
|
381
|
+
icon: <InfoCircleIcon />,
|
382
|
+
},
|
383
|
+
];
|
384
|
+
}
|
385
|
+
|
386
|
+
getExtraQueryBuilderHeaderActionConfigurations?(): QueryBuilderHeaderActionConfiguration[] {
|
387
|
+
return [
|
388
|
+
{
|
389
|
+
key: 'load-query',
|
390
|
+
category: 0,
|
391
|
+
renderer: (queryBuilderState): React.ReactNode => {
|
392
|
+
if (
|
393
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
394
|
+
QueryBuilderActionConfig_QueryApplication
|
395
|
+
) {
|
396
|
+
const editorStore =
|
397
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
398
|
+
const openQueryLoader = (): void => {
|
399
|
+
editorStore.queryLoaderState.setQueryLoaderDialogOpen(true);
|
400
|
+
};
|
401
|
+
return (
|
402
|
+
<Button
|
403
|
+
className="query-editor__header__action btn--dark"
|
404
|
+
disabled={editorStore.isPerformingBlockingAction}
|
405
|
+
onClick={openQueryLoader}
|
406
|
+
title="Load query..."
|
407
|
+
>
|
408
|
+
<ManageSearchIcon className="query-editor__header__action__icon--load" />
|
409
|
+
<div className="query-editor__header__action__label">
|
410
|
+
Load Query
|
411
|
+
</div>
|
412
|
+
</Button>
|
413
|
+
);
|
414
|
+
}
|
415
|
+
return undefined;
|
416
|
+
},
|
417
|
+
},
|
418
|
+
{
|
419
|
+
key: 'new-query',
|
420
|
+
category: 0,
|
421
|
+
renderer: (queryBuilderState): React.ReactNode => {
|
422
|
+
if (
|
423
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
424
|
+
QueryBuilderActionConfig_QueryApplication
|
425
|
+
) {
|
426
|
+
const editorStore =
|
427
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
428
|
+
const isExistingQuery =
|
429
|
+
editorStore instanceof ExistingQueryEditorStore;
|
430
|
+
const handleNewQuery = (): void => {
|
431
|
+
if (editorStore instanceof ExistingQueryEditorStore) {
|
432
|
+
const query = editorStore.query;
|
433
|
+
if (query) {
|
434
|
+
if (queryBuilderState instanceof DataSpaceQueryBuilderState) {
|
435
|
+
editorStore.applicationStore.navigationService.navigator.goToLocation(
|
436
|
+
generateDataSpaceQueryCreatorRoute(
|
437
|
+
query.groupId,
|
438
|
+
query.artifactId,
|
439
|
+
query.versionId,
|
440
|
+
queryBuilderState.dataSpace.path,
|
441
|
+
queryBuilderState.executionContext.name,
|
442
|
+
undefined,
|
443
|
+
undefined,
|
444
|
+
),
|
445
|
+
);
|
446
|
+
} else {
|
447
|
+
const mapping =
|
448
|
+
editorStore.queryBuilderState?.executionContextState
|
449
|
+
.mapping;
|
450
|
+
const runtime =
|
451
|
+
editorStore.queryBuilderState?.executionContextState
|
452
|
+
.runtimeValue;
|
453
|
+
if (mapping && runtime instanceof RuntimePointer) {
|
454
|
+
editorStore.applicationStore.navigationService.navigator.goToLocation(
|
455
|
+
generateMappingQueryCreatorRoute(
|
456
|
+
query.groupId,
|
457
|
+
query.artifactId,
|
458
|
+
query.versionId,
|
459
|
+
mapping.path,
|
460
|
+
runtime.packageableRuntime.value.path,
|
461
|
+
),
|
462
|
+
);
|
463
|
+
}
|
464
|
+
}
|
465
|
+
}
|
466
|
+
}
|
467
|
+
};
|
468
|
+
return (
|
469
|
+
<>
|
470
|
+
{isExistingQuery && (
|
471
|
+
<Button
|
472
|
+
className="query-editor__header__action btn--dark"
|
473
|
+
disabled={editorStore.isPerformingBlockingAction}
|
474
|
+
onClick={handleNewQuery}
|
475
|
+
title="New query"
|
476
|
+
>
|
477
|
+
<SaveCurrIcon />
|
478
|
+
<div className="query-editor__header__action__label">
|
479
|
+
New Query
|
480
|
+
</div>
|
481
|
+
</Button>
|
482
|
+
)}
|
483
|
+
</>
|
484
|
+
);
|
485
|
+
}
|
486
|
+
return undefined;
|
487
|
+
},
|
488
|
+
},
|
489
|
+
{
|
490
|
+
key: 'save-combo',
|
491
|
+
category: 0,
|
492
|
+
renderer: (queryBuilderState): React.ReactNode => {
|
493
|
+
if (
|
494
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
495
|
+
QueryBuilderActionConfig_QueryApplication
|
496
|
+
) {
|
497
|
+
const editorStore =
|
498
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
499
|
+
const isExistingQuery =
|
500
|
+
editorStore instanceof ExistingQueryEditorStore;
|
501
|
+
const openSaveQueryModal = (): void => {
|
502
|
+
if (editorStore instanceof ExistingQueryEditorStore) {
|
503
|
+
editorStore.updateState.showSaveModal();
|
504
|
+
}
|
505
|
+
};
|
506
|
+
const handleQuerySaveAs = (): void => {
|
507
|
+
editorStore.queryCreatorState.open(
|
508
|
+
editorStore instanceof ExistingQueryEditorStore
|
509
|
+
? editorStore.query
|
510
|
+
: undefined,
|
511
|
+
);
|
512
|
+
};
|
513
|
+
return (
|
514
|
+
<div className="query-editor__header__action-combo btn__dropdown-combo">
|
515
|
+
<Button
|
516
|
+
className="query-editor__header__action query-editor__header__action-combo__main-btn btn--dak"
|
517
|
+
disabled={
|
518
|
+
!isExistingQuery ||
|
519
|
+
editorStore.isPerformingBlockingAction ||
|
520
|
+
!queryBuilderState.canBuildQuery
|
521
|
+
}
|
522
|
+
onClick={openSaveQueryModal}
|
523
|
+
title="Save query"
|
524
|
+
>
|
525
|
+
<SaveCurrIcon />
|
526
|
+
<div className="query-editor__header__action__label">
|
527
|
+
Save
|
528
|
+
</div>
|
529
|
+
</Button>
|
530
|
+
<DropdownMenu
|
531
|
+
className="query-editor__header__action-combo__dropdown-btn"
|
532
|
+
disabled={editorStore.isViewProjectActionDisabled}
|
533
|
+
title="query__editor__save-dropdown"
|
534
|
+
content={
|
535
|
+
<MenuContent>
|
536
|
+
<MenuContentItem
|
537
|
+
className="btn__dropdown-combo__option"
|
538
|
+
onClick={handleQuerySaveAs}
|
539
|
+
title="query__editor__save-dropdown__save-as"
|
540
|
+
disabled={
|
541
|
+
editorStore.isPerformingBlockingAction ||
|
542
|
+
!queryBuilderState.canBuildQuery
|
543
|
+
}
|
544
|
+
>
|
545
|
+
<MenuContentItemIcon>
|
546
|
+
<SaveAsIcon />
|
547
|
+
</MenuContentItemIcon>
|
548
|
+
<MenuContentItemLabel>
|
549
|
+
Save As New Query
|
550
|
+
</MenuContentItemLabel>
|
551
|
+
</MenuContentItem>
|
552
|
+
</MenuContent>
|
553
|
+
}
|
554
|
+
>
|
555
|
+
<CaretDownIcon />
|
556
|
+
</DropdownMenu>
|
557
|
+
</div>
|
558
|
+
);
|
559
|
+
}
|
560
|
+
return undefined;
|
561
|
+
},
|
562
|
+
},
|
563
|
+
];
|
564
|
+
}
|
565
|
+
|
566
|
+
getExtraQueryBuilderHeaderTitleConfigurations?(): QueryBuilderHeaderActionConfiguration {
|
567
|
+
return {
|
568
|
+
key: 'query-title',
|
569
|
+
category: 0,
|
570
|
+
renderer: (queryBuilderState): React.ReactNode => {
|
571
|
+
if (
|
572
|
+
queryBuilderState.workflowState.actionConfig instanceof
|
573
|
+
QueryBuilderActionConfig_QueryApplication
|
574
|
+
) {
|
575
|
+
const editorStore =
|
576
|
+
queryBuilderState.workflowState.actionConfig.editorStore;
|
577
|
+
const renderQueryTitle = (): React.ReactNode => {
|
578
|
+
if (editorStore instanceof ExistingQueryEditorStore) {
|
579
|
+
return (
|
580
|
+
<QueryEditorExistingQueryHeader
|
581
|
+
queryBuilderState={queryBuilderState}
|
582
|
+
existingEditorStore={editorStore}
|
583
|
+
/>
|
584
|
+
);
|
585
|
+
} else if (
|
586
|
+
editorStore instanceof DataSpaceTemplateQueryCreatorStore
|
587
|
+
) {
|
588
|
+
return (
|
589
|
+
<div className="query-editor__dataspace__header">
|
590
|
+
<div className="query-editor__header__content__main query-editor__header__content__title__text query-editor__dataspace__header__title__text">
|
591
|
+
{editorStore.templateQueryTitle}
|
592
|
+
</div>
|
593
|
+
<div className="query-editor__dataspace__header__title__tag">
|
594
|
+
template
|
595
|
+
</div>
|
596
|
+
</div>
|
597
|
+
);
|
598
|
+
}
|
599
|
+
return undefined;
|
600
|
+
};
|
601
|
+
return (
|
602
|
+
<div className="query-editor__header__content">
|
603
|
+
{renderQueryTitle()}
|
604
|
+
</div>
|
605
|
+
);
|
606
|
+
}
|
607
|
+
return undefined;
|
608
|
+
},
|
609
|
+
};
|
610
|
+
}
|
206
611
|
}
|