@finos/legend-query-builder 2.1.2 → 2.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. package/{src/stores/QueryBuilderBootstraper.ts → lib/application/QueryBuilderDocumentation.d.ts} +6 -8
  2. package/lib/application/QueryBuilderDocumentation.d.ts.map +1 -0
  3. package/lib/application/QueryBuilderDocumentation.js +23 -0
  4. package/lib/application/QueryBuilderDocumentation.js.map +1 -0
  5. package/lib/components/QueryBuilder.js +3 -2
  6. package/lib/components/QueryBuilder.js.map +1 -1
  7. package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -1
  8. package/lib/components/QueryBuilderConstantExpressionPanel.js +3 -2
  9. package/lib/components/QueryBuilderConstantExpressionPanel.js.map +1 -1
  10. package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderDiffPanel.js +9 -8
  12. package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
  13. package/lib/components/QueryBuilderParametersPanel.js +3 -2
  14. package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
  15. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderResultPanel.js +8 -7
  17. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  18. package/lib/components/QueryBuilderTextEditor.js +3 -2
  19. package/lib/components/QueryBuilderTextEditor.js.map +1 -1
  20. package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts +2 -1
  21. package/lib/components/QueryBuilder_LegendApplicationPlugin.d.ts.map +1 -1
  22. package/lib/components/QueryBuilder_LegendApplicationPlugin.js +8 -0
  23. package/lib/components/QueryBuilder_LegendApplicationPlugin.js.map +1 -1
  24. package/lib/{stores/QueryBuilderBootstraper.js → components/execution-plan/ExecutionPlanViewer.d.ts} +12 -6
  25. package/lib/components/execution-plan/ExecutionPlanViewer.d.ts.map +1 -0
  26. package/lib/components/execution-plan/ExecutionPlanViewer.js +182 -0
  27. package/lib/components/execution-plan/ExecutionPlanViewer.js.map +1 -0
  28. package/lib/components/execution-plan/SQLExecutionNodeViewer.d.ts +31 -0
  29. package/lib/components/execution-plan/SQLExecutionNodeViewer.d.ts.map +1 -0
  30. package/lib/components/execution-plan/SQLExecutionNodeViewer.js +32 -0
  31. package/lib/components/execution-plan/SQLExecutionNodeViewer.js.map +1 -0
  32. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +2 -2
  33. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
  34. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.d.ts.map +1 -1
  35. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js +4 -4
  36. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js.map +1 -1
  37. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
  38. package/lib/components/shared/BasicValueSpecificationEditor.js +2 -3
  39. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
  40. package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
  41. package/lib/components/shared/LambdaEditor.js +20 -19
  42. package/lib/components/shared/LambdaEditor.js.map +1 -1
  43. package/lib/index.css +1 -17
  44. package/lib/index.css.map +1 -1
  45. package/lib/index.d.ts +3 -2
  46. package/lib/index.d.ts.map +1 -1
  47. package/lib/index.js +3 -2
  48. package/lib/index.js.map +1 -1
  49. package/lib/package.json +9 -17
  50. package/lib/stores/QueryBuilderResultState.d.ts +1 -1
  51. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  52. package/lib/stores/QueryBuilderResultState.js +2 -1
  53. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  54. package/lib/stores/execution-plan/ExecutionPlanState.d.ts +61 -0
  55. package/lib/stores/execution-plan/ExecutionPlanState.d.ts.map +1 -0
  56. package/lib/stores/execution-plan/ExecutionPlanState.js +118 -0
  57. package/lib/stores/execution-plan/ExecutionPlanState.js.map +1 -0
  58. package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts +3 -4
  59. package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts.map +1 -1
  60. package/lib/stores/explorer/QueryBuilderPropertySearchState.js +3 -4
  61. package/lib/stores/explorer/QueryBuilderPropertySearchState.js.map +1 -1
  62. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  63. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  64. package/package.json +16 -24
  65. package/{lib/stores/QueryBuilderBootstraper.d.ts → src/application/QueryBuilderDocumentation.ts} +8 -2
  66. package/src/components/QueryBuilder.tsx +2 -2
  67. package/src/components/QueryBuilderConstantExpressionPanel.tsx +2 -2
  68. package/src/components/QueryBuilderDiffPanel.tsx +16 -19
  69. package/src/components/QueryBuilderParametersPanel.tsx +2 -2
  70. package/src/components/QueryBuilderResultPanel.tsx +14 -14
  71. package/src/components/QueryBuilderTextEditor.tsx +4 -4
  72. package/src/components/QueryBuilder_LegendApplicationPlugin.ts +10 -0
  73. package/src/components/execution-plan/ExecutionPlanViewer.tsx +543 -0
  74. package/src/components/execution-plan/SQLExecutionNodeViewer.tsx +46 -0
  75. package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +2 -2
  76. package/src/components/fetch-structure/QueryBuilderTDSWindowPanel.tsx +12 -18
  77. package/src/components/shared/BasicValueSpecificationEditor.tsx +2 -2
  78. package/src/components/shared/LambdaEditor.tsx +27 -25
  79. package/src/index.ts +3 -2
  80. package/src/stores/QueryBuilderResultState.ts +2 -1
  81. package/src/stores/execution-plan/ExecutionPlanState.ts +153 -0
  82. package/src/stores/explorer/QueryBuilderPropertySearchState.ts +4 -4
  83. package/src/stores/filter/QueryBuilderFilterState.ts +2 -0
  84. package/tsconfig.json +4 -1
  85. package/lib/stores/QueryBuilderBootstraper.d.ts.map +0 -1
  86. package/lib/stores/QueryBuilderBootstraper.js.map +0 -1
@@ -66,10 +66,10 @@ import {
66
66
  uniq,
67
67
  parseCSVString,
68
68
  guaranteeIsNumber,
69
+ csvStringify,
69
70
  } from '@finos/legend-shared';
70
71
  import { flowResult } from 'mobx';
71
72
  import { observer } from 'mobx-react-lite';
72
- import CSVParser from 'papaparse';
73
73
  import { useEffect, useRef, useState } from 'react';
74
74
  import {
75
75
  instanceValue_setValue,
@@ -534,7 +534,7 @@ const stringifyValue = (values: ValueSpecification[]): string => {
534
534
  if (values.length === 0) {
535
535
  return '';
536
536
  }
537
- return CSVParser.unparse([
537
+ return csvStringify([
538
538
  values
539
539
  .map((val) => {
540
540
  if (val instanceof PrimitiveInstanceValue) {
@@ -19,23 +19,25 @@ import { editor as monacoEditorAPI, type IDisposable } from 'monaco-editor';
19
19
  import { observer } from 'mobx-react-lite';
20
20
  import {
21
21
  clsx,
22
- disposeEditor,
23
- getBaseTextEditorOptions,
24
- getEditorValue,
25
- normalizeLineEnding,
26
22
  FilledWindowMaximizeIcon,
27
23
  LongArrowAltDownIcon,
28
24
  LongArrowAltUpIcon,
29
25
  Dialog,
30
26
  useResizeDetector,
31
- clearMarkers,
32
- setErrorMarkers,
33
27
  Modal,
34
28
  ModalBody,
35
29
  ModalFooter,
36
30
  ModalHeader,
37
31
  ModalTitle,
38
32
  } from '@finos/legend-art';
33
+ import {
34
+ disposeCodeEditor,
35
+ getBaseCodeEditorOptions,
36
+ getCodeEditorValue,
37
+ normalizeLineEnding,
38
+ clearMarkers,
39
+ setErrorMarkers,
40
+ } from '@finos/legend-lego/code-editor';
39
41
  import type { LambdaEditorState } from '../../stores/shared/LambdaEditorState.js';
40
42
  import {
41
43
  debounce,
@@ -46,8 +48,8 @@ import {
46
48
  import { flowResult } from 'mobx';
47
49
  import { ParserError, type EngineError, type Type } from '@finos/legend-graph';
48
50
  import {
49
- EDITOR_LANGUAGE,
50
- EDITOR_THEME,
51
+ CODE_EDITOR_LANGUAGE,
52
+ CODE_EDITOR_THEME,
51
53
  TAB_SIZE,
52
54
  useApplicationStore,
53
55
  } from '@finos/legend-application';
@@ -181,12 +183,12 @@ const LambdaEditorInline = observer(
181
183
  scrollbar: { vertical: 'hidden' },
182
184
  };
183
185
  const _editor = monacoEditorAPI.create(element, {
184
- ...getBaseTextEditorOptions(),
185
- language: EDITOR_LANGUAGE.PURE,
186
+ ...getBaseCodeEditorOptions(),
187
+ language: CODE_EDITOR_LANGUAGE.PURE,
186
188
  theme: applicationStore.layoutService
187
189
  .TEMPORARY__isLightColorThemeEnabled
188
- ? EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
189
- : EDITOR_THEME.LEGEND,
190
+ ? CODE_EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
191
+ : CODE_EDITOR_THEME.LEGEND,
190
192
  ...lambdaEditorOptions,
191
193
  });
192
194
  setEditor(_editor);
@@ -211,7 +213,7 @@ const LambdaEditorInline = observer(
211
213
  },
212
214
  );
213
215
  // set the value here so we don't lose the error when toggling between expand/collape modes
214
- const currentValue = getEditorValue(editor);
216
+ const currentValue = getCodeEditorValue(editor);
215
217
  editor.setValue(currentValue);
216
218
  }
217
219
  }
@@ -244,7 +246,7 @@ const LambdaEditorInline = observer(
244
246
  onDidChangeModelContentEventDisposer.current?.dispose();
245
247
  onDidChangeModelContentEventDisposer.current =
246
248
  editor.onDidChangeModelContent(() => {
247
- const currentVal = getEditorValue(editor);
249
+ const currentVal = getCodeEditorValue(editor);
248
250
  /**
249
251
  * Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
250
252
  * Since this method is guaranteed to be called one time during the first rendering when we first set the
@@ -287,7 +289,7 @@ const LambdaEditorInline = observer(
287
289
  );
288
290
 
289
291
  // Set the text value
290
- const currentValue = getEditorValue(editor);
292
+ const currentValue = getCodeEditorValue(editor);
291
293
  const editorModel = editor.getModel();
292
294
  const currentConfig = editor.getRawOptions();
293
295
  if (currentValue !== value) {
@@ -322,7 +324,7 @@ const LambdaEditorInline = observer(
322
324
  useEffect(
323
325
  () => (): void => {
324
326
  if (editor) {
325
- disposeEditor(editor);
327
+ disposeCodeEditor(editor);
326
328
  }
327
329
  onDidChangeModelContentEventDisposer.current?.dispose();
328
330
  onDidFocusEditorWidgetDisposer.current?.dispose();
@@ -342,7 +344,7 @@ const LambdaEditorInline = observer(
342
344
  data-testid={QUERY_BUILDER_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT}
343
345
  className="lambda-editor__editor__input"
344
346
  >
345
- <div className="text-editor__body" ref={textInputRef} />
347
+ <div className="code-editor__body" ref={textInputRef} />
346
348
  </div>
347
349
  {Boolean(expectedType) && (
348
350
  <div className="lambda-editor__editor__info">
@@ -459,12 +461,12 @@ const LambdaEditorPopUp = observer(
459
461
  if (!editor && textInputRef.current) {
460
462
  const element = textInputRef.current;
461
463
  const _editor = monacoEditorAPI.create(element, {
462
- ...getBaseTextEditorOptions(),
463
- language: EDITOR_LANGUAGE.PURE,
464
+ ...getBaseCodeEditorOptions(),
465
+ language: CODE_EDITOR_LANGUAGE.PURE,
464
466
  theme: applicationStore.layoutService
465
467
  .TEMPORARY__isLightColorThemeEnabled
466
- ? EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
467
- : EDITOR_THEME.LEGEND,
468
+ ? CODE_EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
469
+ : CODE_EDITOR_THEME.LEGEND,
468
470
  });
469
471
  setEditor(_editor);
470
472
  }
@@ -485,7 +487,7 @@ const LambdaEditorPopUp = observer(
485
487
  onDidChangeModelContentEventDisposer.current?.dispose();
486
488
  onDidChangeModelContentEventDisposer.current =
487
489
  editor.onDidChangeModelContent(() => {
488
- const currentVal = getEditorValue(editor);
490
+ const currentVal = getCodeEditorValue(editor);
489
491
  /**
490
492
  * Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
491
493
  * Since this method is guaranteed to be called one time during the first rendering when we first set the
@@ -521,7 +523,7 @@ const LambdaEditorPopUp = observer(
521
523
  });
522
524
 
523
525
  // Set the text value
524
- const currentValue = getEditorValue(editor);
526
+ const currentValue = getCodeEditorValue(editor);
525
527
  const editorModel = editor.getModel();
526
528
  const currentConfig = editor.getRawOptions();
527
529
  if (currentValue !== value) {
@@ -562,7 +564,7 @@ const LambdaEditorPopUp = observer(
562
564
  useEffect(
563
565
  () => (): void => {
564
566
  if (editor) {
565
- disposeEditor(editor);
567
+ disposeCodeEditor(editor);
566
568
  }
567
569
  onDidChangeModelContentEventDisposer.current?.dispose();
568
570
  },
@@ -613,7 +615,7 @@ const LambdaEditorPopUp = observer(
613
615
  data-testid={QUERY_BUILDER_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT}
614
616
  className="lambda-editor__editor__input"
615
617
  >
616
- <div className="text-editor__body" ref={textInputRef} />
618
+ <div className="code-editor__body" ref={textInputRef} />
617
619
  </div>
618
620
  </div>
619
621
  </ModalBody>
package/src/index.ts CHANGED
@@ -18,7 +18,6 @@
18
18
  export * from './application/QueryBuilderTelemetryHelper.js';
19
19
  export * from './application/QueryBuilderEvent.js';
20
20
 
21
- export * from './stores/QueryBuilderBootstraper.js';
22
21
  export { QueryBuilder_GraphManagerPreset } from './graphManager/QueryBuilder_GraphManagerPreset.js';
23
22
 
24
23
  export { QUERY_BUILDER_TEST_ID } from './application/QueryBuilderTesting.js';
@@ -53,15 +52,17 @@ export * from './components/QuerySetupUtils.js';
53
52
  export * from './components/QueryBuilderTextEditor.js';
54
53
 
55
54
  export { TEST__setUpQueryBuilder } from './components/QueryBuilderComponentTestUtils.js';
55
+ export { QueryBuilderTextEditorMode } from './stores/QueryBuilderTextEditorState.js';
56
56
 
57
57
  // ------------------------------------------- Shared components -------------------------------------------
58
58
 
59
59
  export * from './components/shared/LambdaEditor.js';
60
60
  export * from './components/shared/BasicValueSpecificationEditor.js';
61
61
  export * from './components/shared/LambdaParameterValuesEditor.js';
62
+ export * from './components/execution-plan/ExecutionPlanViewer.js';
62
63
 
63
64
  export { LambdaEditorState } from './stores/shared/LambdaEditorState.js';
64
65
  export * from './stores/shared/LambdaParameterState.js';
65
66
  export * from './stores/shared/ValueSpecificationModifierHelper.js';
66
67
  export * from './stores/shared/ValueSpecificationEditorHelper.js';
67
- export { QueryBuilderTextEditorMode } from './stores/QueryBuilderTextEditorState.js';
68
+ export * from './stores/execution-plan/ExecutionPlanState.js';
@@ -39,7 +39,7 @@ import {
39
39
  extractExecutionResultValues,
40
40
  } from '@finos/legend-graph';
41
41
  import { buildLambdaFunction } from './QueryBuilderValueSpecificationBuilder.js';
42
- import { ExecutionPlanState, TAB_SIZE } from '@finos/legend-application';
42
+ import { TAB_SIZE } from '@finos/legend-application';
43
43
  import {
44
44
  buildExecutionParameterValues,
45
45
  getExecutionQueryFromRawLambda,
@@ -47,6 +47,7 @@ import {
47
47
  import type { LambdaFunctionBuilderOption } from './QueryBuilderValueSpecificationBuilderHelper.js';
48
48
  import { QueryBuilderTelemetryHelper } from '../application/QueryBuilderTelemetryHelper.js';
49
49
  import { QUERY_BUILDER_EVENT } from '../application/QueryBuilderEvent.js';
50
+ import { ExecutionPlanState } from './execution-plan/ExecutionPlanState.js';
50
51
 
51
52
  const DEFAULT_LIMIT = 1000;
52
53
 
@@ -0,0 +1,153 @@
1
+ /**
2
+ * Copyright (c) 2020-present, Goldman Sachs
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ import { observable, action, makeObservable } from 'mobx';
18
+ import {
19
+ type RawExecutionPlan,
20
+ type GraphManagerState,
21
+ ExecutionPlan,
22
+ ExecutionNode,
23
+ } from '@finos/legend-graph';
24
+ import type { TreeNodeData } from '@finos/legend-art';
25
+ import type { GenericLegendApplicationStore } from '@finos/legend-application';
26
+
27
+ export class ExecutionPlanViewTreeNodeData implements TreeNodeData {
28
+ id: string;
29
+ label: string;
30
+ isSelected?: boolean;
31
+ isOpen?: boolean;
32
+ childrenIds?: string[];
33
+ executionPlan!: ExecutionPlan;
34
+
35
+ constructor(id: string, label: string, executionPlan: ExecutionPlan) {
36
+ this.id = id;
37
+ this.label = label;
38
+ this.executionPlan = executionPlan;
39
+ }
40
+ }
41
+
42
+ export class ExecutionNodeTreeNodeData implements TreeNodeData {
43
+ id: string;
44
+ label: string;
45
+ isSelected?: boolean;
46
+ isOpen?: boolean;
47
+ childrenIds?: string[];
48
+ executionNode: ExecutionNode;
49
+
50
+ constructor(id: string, label: string, executionNode: ExecutionNode) {
51
+ this.id = id;
52
+ this.label = label;
53
+ this.executionNode = executionNode;
54
+ }
55
+ }
56
+
57
+ export enum EXECUTION_PLAN_VIEW_MODE {
58
+ FORM = 'Form',
59
+ JSON = 'JSON',
60
+ }
61
+
62
+ export class ExecutionPlanState {
63
+ applicationStore: GenericLegendApplicationStore;
64
+ graphManagerState: GraphManagerState;
65
+ displayDataJson: object = {};
66
+ displayData = '';
67
+ selectedNode:
68
+ | ExecutionNodeTreeNodeData
69
+ | ExecutionPlanViewTreeNodeData
70
+ | undefined = undefined;
71
+ viewMode: EXECUTION_PLAN_VIEW_MODE = EXECUTION_PLAN_VIEW_MODE.FORM;
72
+ rawPlan?: RawExecutionPlan | undefined;
73
+ plan?: ExecutionPlan | undefined;
74
+ debugText?: string | undefined;
75
+
76
+ constructor(
77
+ applicationStore: GenericLegendApplicationStore,
78
+ graphManagerState: GraphManagerState,
79
+ ) {
80
+ makeObservable(this, {
81
+ displayData: observable,
82
+ displayDataJson: observable,
83
+ viewMode: observable,
84
+ rawPlan: observable,
85
+ plan: observable,
86
+ debugText: observable,
87
+ setExecutionPlanDisplayData: action,
88
+ setExecutionPlanDisplayDataJson: action,
89
+ transformMetadataToProtocolJson: action,
90
+ setSelectedNode: action,
91
+ setRawPlan: action,
92
+ setPlan: action,
93
+ setViewMode: action,
94
+ setDebugText: action,
95
+ });
96
+ this.applicationStore = applicationStore;
97
+ this.graphManagerState = graphManagerState;
98
+ }
99
+
100
+ setViewMode(val: EXECUTION_PLAN_VIEW_MODE): void {
101
+ this.viewMode = val;
102
+ }
103
+
104
+ setRawPlan = (val: RawExecutionPlan | undefined): void => {
105
+ this.rawPlan = val;
106
+ };
107
+
108
+ setPlan = (val: ExecutionPlan | undefined): void => {
109
+ this.plan = val;
110
+ };
111
+
112
+ setDebugText(val: string | undefined): void {
113
+ this.debugText = val;
114
+ }
115
+
116
+ setSelectedNode(
117
+ node: ExecutionNodeTreeNodeData | ExecutionPlanViewTreeNodeData | undefined,
118
+ ): void {
119
+ if (this.selectedNode) {
120
+ this.selectedNode.isSelected = false;
121
+ }
122
+ if (node) {
123
+ node.isSelected = true;
124
+ }
125
+ this.selectedNode = node;
126
+ }
127
+
128
+ setExecutionPlanDisplayData(val: string): void {
129
+ this.displayData = val;
130
+ }
131
+
132
+ setExecutionPlanDisplayDataJson(val: object): void {
133
+ this.displayDataJson = val;
134
+
135
+ this.setExecutionPlanDisplayData(
136
+ JSON.stringify(this.displayDataJson, undefined, 2),
137
+ );
138
+ }
139
+
140
+ transformMetadataToProtocolJson(
141
+ metaModel: ExecutionPlan | ExecutionNode,
142
+ ): void {
143
+ if (metaModel instanceof ExecutionPlan) {
144
+ const protocolJson =
145
+ this.graphManagerState.graphManager.serializeExecutionPlan(metaModel);
146
+ this.setExecutionPlanDisplayDataJson(protocolJson);
147
+ } else if (metaModel instanceof ExecutionNode) {
148
+ const protocolJson =
149
+ this.graphManagerState.graphManager.serializeExecutionNode(metaModel);
150
+ this.setExecutionPlanDisplayDataJson(protocolJson);
151
+ }
152
+ }
153
+ }
@@ -26,6 +26,7 @@ import {
26
26
  } from '@finos/legend-graph';
27
27
  import {
28
28
  ActionState,
29
+ FuzzySearchEngine,
29
30
  addUniqueEntry,
30
31
  deleteEntry,
31
32
  guaranteeNonNullable,
@@ -51,8 +52,7 @@ import {
51
52
  QueryBuilderExplorerTreeSubTypeNodeData,
52
53
  } from './QueryBuilderExplorerState.js';
53
54
  import type { QueryBuilderState } from '../QueryBuilderState.js';
54
- import { FuzzySearchEngine } from '@finos/legend-art';
55
- import { TextSearchAdvancedConfigState } from '@finos/legend-application';
55
+ import { FuzzySearchAdvancedConfigState } from '@finos/legend-application/components';
56
56
 
57
57
  export class QueryBuilderPropertySearchState {
58
58
  queryBuilderState: QueryBuilderState;
@@ -72,7 +72,7 @@ export class QueryBuilderPropertySearchState {
72
72
 
73
73
  // search
74
74
  searchEngine: FuzzySearchEngine<QueryBuilderExplorerTreeNodeData>;
75
- searchConfigurationState: TextSearchAdvancedConfigState;
75
+ searchConfigurationState: FuzzySearchAdvancedConfigState;
76
76
  searchState = ActionState.create();
77
77
  searchText = '';
78
78
  searchResults: QueryBuilderExplorerTreeNodeData[] = [];
@@ -112,7 +112,7 @@ export class QueryBuilderPropertySearchState {
112
112
  });
113
113
 
114
114
  this.queryBuilderState = queryBuilderState;
115
- this.searchConfigurationState = new TextSearchAdvancedConfigState(
115
+ this.searchConfigurationState = new FuzzySearchAdvancedConfigState(
116
116
  (): void => this.search(),
117
117
  );
118
118
  this.searchEngine = new FuzzySearchEngine(this.indexedExplorerTreeNodes);
@@ -245,9 +245,11 @@ export abstract class QueryBuilderFilterTreeNodeData
245
245
  }
246
246
 
247
247
  abstract get dragPreviewLabel(): string;
248
+
248
249
  setIsOpen(val: boolean): void {
249
250
  this.isOpen = val;
250
251
  }
252
+
251
253
  setParentId(val: string | undefined): void {
252
254
  this.parentId = val;
253
255
  }
package/tsconfig.json CHANGED
@@ -33,6 +33,7 @@
33
33
  ],
34
34
  "files": [
35
35
  "./src/index.ts",
36
+ "./src/application/QueryBuilderDocumentation.ts",
36
37
  "./src/application/QueryBuilderEvent.ts",
37
38
  "./src/application/QueryBuilderSetting.ts",
38
39
  "./src/application/QueryBuilderTelemetryHelper.ts",
@@ -51,7 +52,6 @@
51
52
  "./src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts",
52
53
  "./src/graphManager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.ts",
53
54
  "./src/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts",
54
- "./src/stores/QueryBuilderBootstraper.ts",
55
55
  "./src/stores/QueryBuilderChangeDetectionState.ts",
56
56
  "./src/stores/QueryBuilderCommand.ts",
57
57
  "./src/stores/QueryBuilderConfig.ts",
@@ -72,6 +72,7 @@
72
72
  "./src/stores/QueryBuilderValueSpecificationHelper.ts",
73
73
  "./src/stores/ServiceInfo.ts",
74
74
  "./src/stores/entitlements/QueryBuilderCheckEntitlementsState.ts",
75
+ "./src/stores/execution-plan/ExecutionPlanState.ts",
75
76
  "./src/stores/explorer/QueryBuilderExplorerState.ts",
76
77
  "./src/stores/explorer/QueryBuilderPropertySearchState.ts",
77
78
  "./src/stores/explorer/QueryFunctionsExplorerState.ts",
@@ -178,6 +179,8 @@
178
179
  "./src/components/QueryBuilderTextEditor.tsx",
179
180
  "./src/components/QueryBuilderUnsupportedQueryEditor.tsx",
180
181
  "./src/components/ServiceQuerySetupUtils.tsx",
182
+ "./src/components/execution-plan/ExecutionPlanViewer.tsx",
183
+ "./src/components/execution-plan/SQLExecutionNodeViewer.tsx",
181
184
  "./src/components/explorer/QueryBuilderExplorerPanel.tsx",
182
185
  "./src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx",
183
186
  "./src/components/explorer/QueryBuilderMilestoningEditor.tsx",
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryBuilderBootstraper.d.ts","sourceRoot":"","sources":["../../src/stores/QueryBuilderBootstraper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,eAAO,MAAM,0BAA0B,QAAa,QAAQ,IAAI,CAG/D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryBuilderBootstraper.js","sourceRoot":"","sources":["../../src/stores/QueryBuilderBootstraper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAClF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAEpF,MAAM,CAAC,MAAM,0BAA0B,GAAG,KAAK,IAAmB,EAAE;IAClE,2CAA2C;IAC3C,qBAAqB,CAAC,eAAe,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC;AACpE,CAAC,CAAC"}