@finos/legend-query-builder 3.1.0 → 3.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. package/lib/__lib__/QueryBuilderColorTheme.d.ts +23 -0
  2. package/lib/__lib__/QueryBuilderColorTheme.d.ts.map +1 -0
  3. package/lib/__lib__/QueryBuilderColorTheme.js +24 -0
  4. package/lib/__lib__/QueryBuilderColorTheme.js.map +1 -0
  5. package/lib/__lib__/QueryBuilderTelemetryHelper.d.ts +20 -20
  6. package/lib/__lib__/QueryBuilderTelemetryHelper.d.ts.map +1 -1
  7. package/lib/__lib__/QueryBuilderTelemetryHelper.js +40 -40
  8. package/lib/__lib__/QueryBuilderTelemetryHelper.js.map +1 -1
  9. package/lib/components/QueryBuilder.d.ts.map +1 -1
  10. package/lib/components/QueryBuilder.js +17 -15
  11. package/lib/components/QueryBuilder.js.map +1 -1
  12. package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts.map +1 -1
  13. package/lib/components/QueryBuilder_LegendApplicationPlugin.js +3 -0
  14. package/lib/components/QueryBuilder_LegendApplicationPlugin.js.map +1 -1
  15. package/lib/components/QueryLoader.d.ts +30 -0
  16. package/lib/components/QueryLoader.d.ts.map +1 -0
  17. package/lib/components/QueryLoader.js +164 -0
  18. package/lib/components/QueryLoader.js.map +1 -0
  19. package/lib/components/data-access/DataAccessOverview.d.ts +23 -0
  20. package/lib/components/data-access/DataAccessOverview.d.ts.map +1 -0
  21. package/lib/components/data-access/DataAccessOverview.js +146 -0
  22. package/lib/components/data-access/DataAccessOverview.js.map +1 -0
  23. package/lib/components/execution-plan/ExecutionPlanViewer.d.ts.map +1 -1
  24. package/lib/components/execution-plan/ExecutionPlanViewer.js +3 -3
  25. package/lib/components/execution-plan/ExecutionPlanViewer.js.map +1 -1
  26. package/lib/components/execution-plan/SQLExecutionNodeViewer.js +1 -1
  27. package/lib/components/execution-plan/SQLExecutionNodeViewer.js.map +1 -1
  28. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +1 -1
  29. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
  30. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts +0 -18
  31. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  32. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +34 -36
  33. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  34. package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
  35. package/lib/components/shared/LambdaEditor.js +7 -19
  36. package/lib/components/shared/LambdaEditor.js.map +1 -1
  37. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -1
  38. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js +2 -1
  39. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -1
  40. package/lib/index.css +1 -17
  41. package/lib/index.css.map +1 -1
  42. package/lib/index.d.ts +5 -0
  43. package/lib/index.d.ts.map +1 -1
  44. package/lib/index.js +5 -0
  45. package/lib/index.js.map +1 -1
  46. package/lib/package.json +4 -2
  47. package/lib/stores/QueryBuilderState.d.ts +3 -3
  48. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  49. package/lib/stores/QueryBuilderState.js +34 -18
  50. package/lib/stores/QueryBuilderState.js.map +1 -1
  51. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts +39 -0
  52. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts.map +1 -0
  53. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.js +17 -0
  54. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.js.map +1 -0
  55. package/lib/stores/QueryLoaderState.d.ts +67 -0
  56. package/lib/stores/QueryLoaderState.d.ts.map +1 -0
  57. package/lib/stores/QueryLoaderState.js +205 -0
  58. package/lib/stores/QueryLoaderState.js.map +1 -0
  59. package/lib/stores/data-access/DataAccessState.d.ts +56 -0
  60. package/lib/stores/data-access/DataAccessState.d.ts.map +1 -0
  61. package/lib/stores/data-access/DataAccessState.js +212 -0
  62. package/lib/stores/data-access/DataAccessState.js.map +1 -0
  63. package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.d.ts +4 -2
  64. package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.d.ts.map +1 -1
  65. package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.js +20 -6
  66. package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.js.map +1 -1
  67. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +3 -1
  68. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
  69. package/lib/stores/shared/ValueSpecificationEditorHelper.js +7 -1
  70. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
  71. package/package.json +12 -10
  72. package/src/__lib__/QueryBuilderColorTheme.ts +23 -0
  73. package/src/__lib__/QueryBuilderTelemetryHelper.ts +40 -59
  74. package/src/components/QueryBuilder.tsx +63 -47
  75. package/src/components/QueryBuilder_LegendApplicationPlugin.ts +4 -0
  76. package/src/components/QueryLoader.tsx +504 -0
  77. package/src/components/data-access/DataAccessOverview.tsx +308 -0
  78. package/src/components/execution-plan/ExecutionPlanViewer.tsx +1 -3
  79. package/src/components/execution-plan/SQLExecutionNodeViewer.tsx +1 -1
  80. package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +1 -1
  81. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +99 -102
  82. package/src/components/shared/LambdaEditor.tsx +4 -21
  83. package/src/components/shared/QueryBuilderPanelIssueCountBadge.tsx +2 -1
  84. package/src/index.ts +7 -0
  85. package/src/stores/QueryBuilderState.ts +65 -19
  86. package/src/stores/QueryBuilder_LegendApplicationPlugin_Extension.ts +46 -0
  87. package/src/stores/QueryLoaderState.ts +298 -0
  88. package/src/stores/data-access/DataAccessState.ts +322 -0
  89. package/src/stores/entitlements/QueryBuilderCheckEntitlementsState.ts +53 -6
  90. package/src/stores/shared/ValueSpecificationEditorHelper.ts +39 -2
  91. package/tsconfig.json +6 -0
@@ -27,176 +27,157 @@ type QueryExecution_TelemetryData = GraphManagerOperationReport & {
27
27
  };
28
28
 
29
29
  export class QueryBuilderTelemetryHelper {
30
- static logEvent_QueryRunLaunched(telemetryService: TelemetryService): void {
31
- telemetryService.logEvent(QUERY_BUILDER_EVENT.RUN_QUERY__LAUNCH, {});
30
+ static logEvent_QueryRunLaunched(service: TelemetryService): void {
31
+ service.logEvent(QUERY_BUILDER_EVENT.RUN_QUERY__LAUNCH, {});
32
32
  }
33
33
 
34
34
  static logEvent_ExecutionPlanGenerationLaunched(
35
- telemetryService: TelemetryService,
35
+ service: TelemetryService,
36
36
  ): void {
37
- telemetryService.logEvent(
38
- QUERY_BUILDER_EVENT.GENERATE_EXECUTION_PLAN__LAUNCH,
39
- {},
40
- );
37
+ service.logEvent(QUERY_BUILDER_EVENT.GENERATE_EXECUTION_PLAN__LAUNCH, {});
41
38
  }
42
39
 
43
- static logEvent_ExecutionPlanDebugLaunched(
44
- telemetryService: TelemetryService,
45
- ): void {
46
- telemetryService.logEvent(
47
- QUERY_BUILDER_EVENT.DEBUG_EXECUTION_PLAN__LAUNCH,
48
- {},
49
- );
40
+ static logEvent_ExecutionPlanDebugLaunched(service: TelemetryService): void {
41
+ service.logEvent(QUERY_BUILDER_EVENT.DEBUG_EXECUTION_PLAN__LAUNCH, {});
50
42
  }
51
43
 
52
44
  static logEvent_QueryRunSucceeded(
53
- telemetryService: TelemetryService,
45
+ service: TelemetryService,
54
46
  data: QueryExecution_TelemetryData,
55
47
  ): void {
56
- telemetryService.logEvent(QUERY_BUILDER_EVENT.RUN_QUERY__SUCCESS, data);
48
+ service.logEvent(QUERY_BUILDER_EVENT.RUN_QUERY__SUCCESS, data);
57
49
  }
58
50
 
59
51
  static logEvent_ExecutionPlanGenerationSucceeded(
60
- telemetryService: TelemetryService,
52
+ service: TelemetryService,
61
53
  data: QueryExecution_TelemetryData,
62
54
  ): void {
63
- telemetryService.logEvent(
55
+ service.logEvent(
64
56
  QUERY_BUILDER_EVENT.GENERATE_EXECUTION_PLAN__SUCCESS,
65
57
  data,
66
58
  );
67
59
  }
68
60
 
69
61
  static logEvent_ExecutionPlanDebugSucceeded(
70
- telemetryService: TelemetryService,
62
+ service: TelemetryService,
71
63
  data: QueryExecution_TelemetryData,
72
64
  ): void {
73
- telemetryService.logEvent(
74
- QUERY_BUILDER_EVENT.DEBUG_EXECUTION_PLAN__SUCCESS,
75
- data,
76
- );
65
+ service.logEvent(QUERY_BUILDER_EVENT.DEBUG_EXECUTION_PLAN__SUCCESS, data);
77
66
  }
78
67
 
79
68
  static logEvent_FilterCreateConditionLaunched(
80
- telemetryService: TelemetryService,
69
+ service: TelemetryService,
81
70
  ): void {
82
- telemetryService.logEvent(
71
+ service.logEvent(
83
72
  QUERY_BUILDER_FILTER_EVENT.FILTER__CREATE__CONDITION__LAUNCH,
84
73
  {},
85
74
  );
86
75
  }
87
76
 
88
- static logEvent_FilterCleanupTreeLaunched(
89
- telemetryService: TelemetryService,
90
- ): void {
91
- telemetryService.logEvent(
77
+ static logEvent_FilterCleanupTreeLaunched(service: TelemetryService): void {
78
+ service.logEvent(
92
79
  QUERY_BUILDER_FILTER_EVENT.FILTER__CLEANUP__TREE__LAUNCH,
93
80
  {},
94
81
  );
95
82
  }
96
83
 
97
- static logEvent_FilterCollapseTreeLaunched(
98
- telemetryService: TelemetryService,
99
- ): void {
100
- telemetryService.logEvent(
84
+ static logEvent_FilterCollapseTreeLaunched(service: TelemetryService): void {
85
+ service.logEvent(
101
86
  QUERY_BUILDER_FILTER_EVENT.FILTER__COLLAPSE__TREE__LAUNCH,
102
87
  {},
103
88
  );
104
89
  }
105
90
 
106
91
  static logEvent_FilterCreateGroupFromConditionLaunched(
107
- telemetryService: TelemetryService,
92
+ service: TelemetryService,
108
93
  ): void {
109
- telemetryService.logEvent(
94
+ service.logEvent(
110
95
  QUERY_BUILDER_FILTER_EVENT.FILTER__CREATE__GROUP__FROM__CONDITION__LAUNCH,
111
96
  {},
112
97
  );
113
98
  }
114
99
 
115
100
  static logEvent_FilterCreateLogicalGroupLaunched(
116
- telemetryService: TelemetryService,
101
+ service: TelemetryService,
117
102
  ): void {
118
- telemetryService.logEvent(
103
+ service.logEvent(
119
104
  QUERY_BUILDER_FILTER_EVENT.FILTER__CREATE__LOGICAL__GROUP__LAUNCH,
120
105
  {},
121
106
  );
122
107
  }
123
108
 
124
- static logEvent_FilterExpandTreeLaunched(
125
- telemetryService: TelemetryService,
126
- ): void {
127
- telemetryService.logEvent(
109
+ static logEvent_FilterExpandTreeLaunched(service: TelemetryService): void {
110
+ service.logEvent(
128
111
  QUERY_BUILDER_FILTER_EVENT.FILTER__EXPAND__TREE__LAUNCH,
129
112
  {},
130
113
  );
131
114
  }
132
115
 
133
- static logEvent_FilterSimplifyTreeLaunched(
134
- telemetryService: TelemetryService,
135
- ): void {
136
- telemetryService.logEvent(
116
+ static logEvent_FilterSimplifyTreeLaunched(service: TelemetryService): void {
117
+ service.logEvent(
137
118
  QUERY_BUILDER_FILTER_EVENT.FILTER__SIMPLIFY__TREE__LAUNCH,
138
119
  {},
139
120
  );
140
121
  }
141
122
 
142
123
  static logEvent_PostFilterCreateConditionLaunched(
143
- telemetryService: TelemetryService,
124
+ service: TelemetryService,
144
125
  ): void {
145
- telemetryService.logEvent(
126
+ service.logEvent(
146
127
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__CREATE__CONDITION__LAUNCH,
147
128
  {},
148
129
  );
149
130
  }
150
131
 
151
132
  static logEvent_PostFilterCleanupTreeLaunched(
152
- telemetryService: TelemetryService,
133
+ service: TelemetryService,
153
134
  ): void {
154
- telemetryService.logEvent(
135
+ service.logEvent(
155
136
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__CLEANUP__TREE__LAUNCH,
156
137
  {},
157
138
  );
158
139
  }
159
140
 
160
141
  static logEvent_PostFilterCollapseTreeLaunched(
161
- telemetryService: TelemetryService,
142
+ service: TelemetryService,
162
143
  ): void {
163
- telemetryService.logEvent(
144
+ service.logEvent(
164
145
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__COLLAPSE__TREE__LAUNCH,
165
146
  {},
166
147
  );
167
148
  }
168
149
 
169
150
  static logEvent_PostFilterCreateGroupFromConditionLaunched(
170
- telemetryService: TelemetryService,
151
+ service: TelemetryService,
171
152
  ): void {
172
- telemetryService.logEvent(
153
+ service.logEvent(
173
154
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__CREATE__GROUP__FROM__CONDITION__LAUNCH,
174
155
  {},
175
156
  );
176
157
  }
177
158
 
178
159
  static logEvent_PostFilterCreateLogicalGroupLaunched(
179
- telemetryService: TelemetryService,
160
+ service: TelemetryService,
180
161
  ): void {
181
- telemetryService.logEvent(
162
+ service.logEvent(
182
163
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__CREATE__LOGICAL__GROUP__LAUNCH,
183
164
  {},
184
165
  );
185
166
  }
186
167
 
187
168
  static logEvent_PostFilterExpandTreeLaunched(
188
- telemetryService: TelemetryService,
169
+ service: TelemetryService,
189
170
  ): void {
190
- telemetryService.logEvent(
171
+ service.logEvent(
191
172
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__EXPAND__TREE__LAUNCH,
192
173
  {},
193
174
  );
194
175
  }
195
176
 
196
177
  static logEvent_PostFilterSimplifyTreeLaunched(
197
- telemetryService: TelemetryService,
178
+ service: TelemetryService,
198
179
  ): void {
199
- telemetryService.logEvent(
180
+ service.logEvent(
200
181
  QUERY_BUILDER_POST_FILTER_EVENT.FILTER__SIMPLIFY__TREE__LAUNCH,
201
182
  {},
202
183
  );
@@ -40,7 +40,7 @@ import {
40
40
  ModalHeader,
41
41
  BlankPanelContent,
42
42
  ModalFooterButton,
43
- CalendarIcon,
43
+ CalendarClockIcon,
44
44
  } from '@finos/legend-art';
45
45
  import { QueryBuilderFilterPanel } from './filter/QueryBuilderFilterPanel.js';
46
46
  import { QueryBuilderExplorerPanel } from './explorer/QueryBuilderExplorerPanel.js';
@@ -72,6 +72,7 @@ import { QueryBuilderConstantExpressionPanel } from './QueryBuilderConstantExpre
72
72
  import { QueryBuilder_LegendApplicationPlugin } from './QueryBuilder_LegendApplicationPlugin.js';
73
73
  import { QUERY_BUILDER_SETTING_KEY } from '../__lib__/QueryBuilderSetting.js';
74
74
  import { QUERY_BUILDER_COMPONENT_ELEMENT_ID } from './QueryBuilderComponentElement.js';
75
+ import { DataAccessOverview } from './data-access/DataAccessOverview.js';
75
76
 
76
77
  const QueryBuilderStatusBar = observer(
77
78
  (props: { queryBuilderState: QueryBuilderState }) => {
@@ -214,12 +215,16 @@ const renderCheckEntitlementsEditor = (
214
215
  }
215
216
 
216
217
  const handleClose = (): void => {
217
- queryBuilderState.checkEntitlementsState.setIsCheckingEntitlements(false);
218
+ queryBuilderState.checkEntitlementsState.setShowCheckEntitlementsViewer(
219
+ false,
220
+ );
218
221
  };
219
222
 
220
223
  return (
221
224
  <Dialog
222
- open={queryBuilderState.checkEntitlementsState.isCheckingEntitlements}
225
+ open={
226
+ queryBuilderState.checkEntitlementsState.showCheckEntitlementsViewer
227
+ }
223
228
  onClose={handleClose}
224
229
  classes={{
225
230
  root: 'editor-modal__root-container',
@@ -229,10 +234,20 @@ const renderCheckEntitlementsEditor = (
229
234
  >
230
235
  <Modal darkMode={true} className="editor-modal">
231
236
  <ModalHeader title="Query Entitlements" />
232
- <ModalBody>
233
- <BlankPanelContent>
234
- Check Entitlements is not supported yet
235
- </BlankPanelContent>
237
+ <ModalBody className="query-builder__data-access-overview">
238
+ <div className="query-builder__data-access-overview__container">
239
+ {queryBuilderState.checkEntitlementsState.dataAccessState ? (
240
+ <DataAccessOverview
241
+ dataAccessState={
242
+ queryBuilderState.checkEntitlementsState.dataAccessState
243
+ }
244
+ />
245
+ ) : (
246
+ <BlankPanelContent>
247
+ No data access information available
248
+ </BlankPanelContent>
249
+ )}
250
+ </div>
236
251
  </ModalBody>
237
252
  <ModalFooter>
238
253
  <ModalFooterButton text="Close" onClick={handleClose} />
@@ -347,7 +362,9 @@ export const QueryBuilder = observer(
347
362
  };
348
363
 
349
364
  const openCheckEntitlmentsEditor = (): void => {
350
- queryBuilderState.checkEntitlementsState.setIsCheckingEntitlements(true);
365
+ queryBuilderState.checkEntitlementsState.setShowCheckEntitlementsViewer(
366
+ true,
367
+ );
351
368
  };
352
369
 
353
370
  useCommands(queryBuilderState);
@@ -392,26 +409,25 @@ export const QueryBuilder = observer(
392
409
  />
393
410
  <div className="query-builder__body">
394
411
  <div className="query-builder__content">
395
- <div className="query-builder__sub-header">
396
- <div className="query-builder__sub-header__content__icons">
412
+ <div className="query-builder__header">
413
+ <div className="query-builder__header__statuses">
397
414
  {queryBuilderState.watermarkState.value && (
398
- <>
399
- <button
400
- className="panel__header__action"
401
- onClick={openWatermark}
402
- tabIndex={-1}
403
- title="Show Watermark"
404
- >
405
- <WaterDropIcon />
406
- </button>
407
- </>
415
+ <button
416
+ className="query-builder__header__status query-builder__header__status--action"
417
+ onClick={openWatermark}
418
+ tabIndex={-1}
419
+ title="Used watermark"
420
+ >
421
+ <WaterDropIcon />
422
+ </button>
408
423
  )}
409
424
  {queryBuilderState.isCalendarEnabled && (
410
- <>
411
- <div className="query-builder__sub-header__content__icon">
412
- <CalendarIcon />
413
- </div>
414
- </>
425
+ <div
426
+ className="query-builder__header__status"
427
+ title="Used calendar aggregation"
428
+ >
429
+ <CalendarClockIcon className="query-builder__header__status__icon--calendar" />
430
+ </div>
415
431
  )}
416
432
  {queryBuilderState.watermarkState.isEditingWatermark && (
417
433
  <QueryBuilderWatermarkEditor
@@ -419,9 +435,9 @@ export const QueryBuilder = observer(
419
435
  />
420
436
  )}
421
437
  </div>
422
- <div className="query-builder__sub-header__content__actions">
438
+ <div className="query-builder__header__actions">
423
439
  <DropdownMenu
424
- className="query-builder__sub-header__custom-action"
440
+ className="query-builder__header__advanced-dropdown"
425
441
  title="Show Advanced Menu..."
426
442
  content={
427
443
  <MenuContent>
@@ -434,7 +450,7 @@ export const QueryBuilder = observer(
434
450
  <CheckIcon />
435
451
  ) : null}
436
452
  </MenuContentItemIcon>
437
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
453
+ <MenuContentItemLabel>
438
454
  Show Function(s)
439
455
  </MenuContentItemLabel>
440
456
  </MenuContentItem>
@@ -452,7 +468,7 @@ export const QueryBuilder = observer(
452
468
  <CheckIcon />
453
469
  ) : null}
454
470
  </MenuContentItemIcon>
455
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
471
+ <MenuContentItemLabel>
456
472
  Show Parameter(s)
457
473
  </MenuContentItemLabel>
458
474
  </MenuContentItem>
@@ -471,7 +487,7 @@ export const QueryBuilder = observer(
471
487
  <CheckIcon />
472
488
  ) : null}
473
489
  </MenuContentItemIcon>
474
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
490
+ <MenuContentItemLabel>
475
491
  Show Constant(s)
476
492
  </MenuContentItemLabel>
477
493
  </MenuContentItem>
@@ -490,10 +506,9 @@ export const QueryBuilder = observer(
490
506
  <CheckIcon />
491
507
  ) : null}
492
508
  </MenuContentItemIcon>
493
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
494
- Show Filter
495
- </MenuContentItemLabel>
509
+ <MenuContentItemLabel>Show Filter</MenuContentItemLabel>
496
510
  </MenuContentItem>
511
+ <MenuContentDivider />
497
512
  <MenuContentItem
498
513
  onClick={toggleShowOLAPGroupByPanel}
499
514
  disabled={
@@ -516,8 +531,8 @@ export const QueryBuilder = observer(
516
531
  <CheckIcon />
517
532
  ) : null}
518
533
  </MenuContentItemIcon>
519
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
520
- Show Window Func(s)
534
+ <MenuContentItemLabel>
535
+ Show Window Function(s)
521
536
  </MenuContentItemLabel>
522
537
  </MenuContentItem>
523
538
  <MenuContentItem
@@ -541,13 +556,13 @@ export const QueryBuilder = observer(
541
556
  <CheckIcon />
542
557
  ) : null}
543
558
  </MenuContentItemIcon>
544
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
559
+ <MenuContentItemLabel>
545
560
  Show Post-Filter
546
561
  </MenuContentItemLabel>
547
562
  </MenuContentItem>
548
563
  <MenuContentItem onClick={openWatermark}>
549
564
  <MenuContentItemIcon>{null}</MenuContentItemIcon>
550
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
565
+ <MenuContentItemLabel>
551
566
  Show Watermark
552
567
  </MenuContentItemLabel>
553
568
  </MenuContentItem>
@@ -566,7 +581,7 @@ export const QueryBuilder = observer(
566
581
  <CheckIcon />
567
582
  ) : null}
568
583
  </MenuContentItemIcon>
569
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
584
+ <MenuContentItemLabel>
570
585
  Enable Calendar
571
586
  </MenuContentItemLabel>
572
587
  </MenuContentItem>
@@ -581,20 +596,20 @@ export const QueryBuilder = observer(
581
596
  .projectionColumns.length === 0
582
597
  }
583
598
  >
584
- <MenuContentItemIcon>{null}</MenuContentItemIcon>
585
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
599
+ <MenuContentItemIcon />
600
+ <MenuContentItemLabel>
586
601
  Check Entitlements
587
602
  </MenuContentItemLabel>
588
603
  </MenuContentItem>
589
604
  <MenuContentItem onClick={editQueryInPure}>
590
- <MenuContentItemIcon>{null}</MenuContentItemIcon>
591
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
605
+ <MenuContentItemIcon />
606
+ <MenuContentItemLabel>
592
607
  Edit Query in Pure
593
608
  </MenuContentItemLabel>
594
609
  </MenuContentItem>
595
610
  <MenuContentItem onClick={showQueryProtocol}>
596
- <MenuContentItemIcon>{null}</MenuContentItemIcon>
597
- <MenuContentItemLabel className="query-builder__sub-header__menu-content">
611
+ <MenuContentItemIcon />
612
+ <MenuContentItemLabel>
598
613
  Show Query Protocol
599
614
  </MenuContentItemLabel>
600
615
  </MenuContentItem>
@@ -606,10 +621,10 @@ export const QueryBuilder = observer(
606
621
  elevation: 7,
607
622
  }}
608
623
  >
609
- <div className="query-builder__sub-header__custom-action__label">
624
+ <div className="query-builder__header__advanced-dropdown__label">
610
625
  Advanced
611
626
  </div>
612
- <CaretDownIcon className="query-builder__sub-header__custom-action__icon" />
627
+ <CaretDownIcon className="query-builder__header__advanced-dropdown__icon" />
613
628
  </DropdownMenu>
614
629
  </div>
615
630
  </div>
@@ -709,7 +724,8 @@ export const QueryBuilder = observer(
709
724
  {queryBuilderState.textEditorState.mode && (
710
725
  <QueryBuilderTextEditor queryBuilderState={queryBuilderState} />
711
726
  )}
712
- {queryBuilderState.checkEntitlementsState.isCheckingEntitlements &&
727
+ {queryBuilderState.checkEntitlementsState
728
+ .showCheckEntitlementsViewer &&
713
729
  renderCheckEntitlementsEditor(
714
730
  queryBuilderState,
715
731
  applicationStore.pluginManager
@@ -28,6 +28,7 @@ import { QUERY_BUILDER_SETTING_CONFIG } from '../__lib__/QueryBuilderSetting.js'
28
28
  import { QUERY_BUILDER_COMMAND_CONFIG } from '../stores/QueryBuilderCommand.js';
29
29
  import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
30
30
  import { configureDataGridComponent } from '@finos/legend-lego/data-grid';
31
+ import { Chart as ChartJS, ArcElement, Tooltip } from 'chart.js';
31
32
 
32
33
  export type CheckEntitlementEditorRender = (
33
34
  queryBuilderState: QueryBuilderState,
@@ -50,6 +51,9 @@ export class QueryBuilder_LegendApplicationPlugin extends LegendApplicationPlugi
50
51
  return [
51
52
  async (applicationStore) => {
52
53
  configureDataGridComponent();
54
+
55
+ // configure chart component
56
+ ChartJS.register(ArcElement, Tooltip);
53
57
  },
54
58
  ];
55
59
  }