@finos/legend-query-builder 4.15.2 → 4.15.4

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 (108) hide show
  1. package/lib/__lib__/QueryBuilderTesting.d.ts +1 -0
  2. package/lib/__lib__/QueryBuilderTesting.d.ts.map +1 -1
  3. package/lib/__lib__/QueryBuilderTesting.js +2 -0
  4. package/lib/__lib__/QueryBuilderTesting.js.map +1 -1
  5. package/lib/components/data-cube/QueryBuilderDataCube.d.ts.map +1 -1
  6. package/lib/components/data-cube/QueryBuilderDataCube.js +6 -7
  7. package/lib/components/data-cube/QueryBuilderDataCube.js.map +1 -1
  8. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  9. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +38 -33
  10. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  11. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  12. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +12 -5
  13. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  14. package/lib/components/filter/QueryBuilderFilterPanel.js +2 -2
  15. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  16. package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts.map +1 -1
  17. package/lib/components/result/tds/QueryBuilderTDSGridResult.js +4 -3
  18. package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
  19. package/lib/components/result/tds/QueryBuilderTDSResultShared.d.ts +2 -2
  20. package/lib/components/result/tds/QueryBuilderTDSResultShared.d.ts.map +1 -1
  21. package/lib/components/result/tds/QueryBuilderTDSResultShared.js +157 -19
  22. package/lib/components/result/tds/QueryBuilderTDSResultShared.js.map +1 -1
  23. package/lib/index.css +2 -2
  24. package/lib/index.css.map +1 -1
  25. package/lib/index.d.ts +1 -1
  26. package/lib/index.d.ts.map +1 -1
  27. package/lib/index.js.map +1 -1
  28. package/lib/package.json +1 -1
  29. package/lib/stores/QueryBuilderState.d.ts +6 -1
  30. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  31. package/lib/stores/QueryBuilderState.js +3 -0
  32. package/lib/stores/QueryBuilderState.js.map +1 -1
  33. package/lib/stores/explorer/QueryFunctionsExplorerState.d.ts +17 -6
  34. package/lib/stores/explorer/QueryFunctionsExplorerState.d.ts.map +1 -1
  35. package/lib/stores/explorer/QueryFunctionsExplorerState.js +142 -59
  36. package/lib/stores/explorer/QueryFunctionsExplorerState.js.map +1 -1
  37. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +1 -1
  38. package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -1
  39. package/lib/stores/filter/QueryBuilderFilterState.d.ts +1 -1
  40. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  41. package/lib/stores/filter/QueryBuilderFilterState.js +8 -3
  42. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  43. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +1 -1
  44. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
  45. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts +2 -2
  46. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  47. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +3 -3
  48. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  49. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts +2 -2
  50. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  51. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +3 -3
  52. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  53. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts +2 -2
  54. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  55. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +2 -2
  56. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  57. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts +1 -1
  58. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  59. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +2 -2
  60. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  61. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +1 -1
  62. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  63. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +2 -2
  64. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  65. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts +2 -2
  66. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -1
  67. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +2 -2
  68. package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
  69. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts +2 -2
  70. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -1
  71. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +2 -2
  72. package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
  73. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts +1 -1
  74. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  75. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +2 -2
  76. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  77. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts +1 -1
  78. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  79. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +2 -2
  80. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  81. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts +2 -2
  82. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  83. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +3 -3
  84. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  85. package/package.json +6 -6
  86. package/src/__lib__/QueryBuilderTesting.ts +2 -0
  87. package/src/components/data-cube/QueryBuilderDataCube.tsx +15 -25
  88. package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +63 -70
  89. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +23 -11
  90. package/src/components/filter/QueryBuilderFilterPanel.tsx +2 -2
  91. package/src/components/result/tds/QueryBuilderTDSGridResult.tsx +7 -3
  92. package/src/components/result/tds/QueryBuilderTDSResultShared.tsx +334 -26
  93. package/src/index.ts +1 -0
  94. package/src/stores/QueryBuilderState.ts +12 -0
  95. package/src/stores/explorer/QueryFunctionsExplorerState.ts +227 -94
  96. package/src/stores/filter/QueryBuilderFilterOperator.ts +1 -1
  97. package/src/stores/filter/QueryBuilderFilterState.ts +10 -5
  98. package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +1 -1
  99. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +3 -5
  100. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +3 -5
  101. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +2 -2
  102. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +2 -4
  103. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +2 -4
  104. package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +2 -2
  105. package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +2 -2
  106. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +2 -4
  107. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +2 -4
  108. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +3 -5
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_LessThanEqual.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_LessThanEqual.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@ import { QueryBuilderFilterOperator } from '../QueryBuilderFilterOperator.js';
18
18
  import { type ValueSpecification, type SimpleFunctionExpression } from '@finos/legend-graph';
19
19
  import { type Hashable } from '@finos/legend-shared';
20
20
  export declare class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOperator implements Hashable {
21
- getLabel(filterConditionState: FilterConditionState): string;
21
+ getLabel(): string;
22
22
  isCompatibleWithFilterConditionProperty(filterConditionState: FilterConditionState): boolean;
23
23
  isCompatibleWithFilterConditionValue(filterConditionState: FilterConditionState): boolean;
24
24
  getDefaultFilterConditionValue(filterConditionState: FilterConditionState): ValueSpecification | undefined;
@@ -27,7 +27,7 @@ export declare class QueryBuilderFilterOperator_StartWith extends QueryBuilderFi
27
27
  get hashCode(): string;
28
28
  }
29
29
  export declare class QueryBuilderFilterOperator_NotStartWith extends QueryBuilderFilterOperator_StartWith {
30
- getLabel(filterConditionState: FilterConditionState): string;
30
+ getLabel(): string;
31
31
  buildFilterConditionExpression(filterConditionState: FilterConditionState, lambdaParameterName?: string | undefined): ValueSpecification;
32
32
  buildFilterConditionState(filterState: QueryBuilderFilterState, expression: SimpleFunctionExpression): FilterConditionState | undefined;
33
33
  get hashCode(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_StartWith.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,oCACX,SAAQ,0BACR,YAAW,QAAQ;IAEnB,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,uCAAuC,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAQV,oCAAoC,CAClC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IASV,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB,GAAG,SAAS;IAwBjC,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IAQrB,yBAAyB,CACvB,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IASnC,IAAI,QAAQ,IAAI,MAAM,CAIrB;CACF;AAED,qBAAa,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB,GAAG,MAAM;IAI5D,8BAA8B,CACrC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IASZ,yBAAyB,CAChC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IAOnC,IAAa,QAAQ,IAAI,MAAM,CAI9B;CACF"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_StartWith.d.ts","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACrB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,QAAQ,EAGd,MAAM,sBAAsB,CAAC;AAa9B,qBAAa,oCACX,SAAQ,0BACR,YAAW,QAAQ;IAEnB,QAAQ,IAAI,MAAM;IAIlB,uCAAuC,CACrC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IAQV,oCAAoC,CAClC,oBAAoB,EAAE,oBAAoB,GACzC,OAAO;IASV,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,GACzC,kBAAkB,GAAG,SAAS;IAsBjC,8BAA8B,CAC5B,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IAQrB,yBAAyB,CACvB,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IASnC,IAAI,QAAQ,IAAI,MAAM,CAIrB;CACF;AAED,qBAAa,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,IAAI,MAAM;IAIlB,8BAA8B,CACrC,oBAAoB,EAAE,oBAAoB,EAC1C,mBAAmB,CAAC,EAAE,MAAM,GAAG,SAAS,GACvC,kBAAkB;IASZ,yBAAyB,CAChC,WAAW,EAAE,uBAAuB,EACpC,UAAU,EAAE,wBAAwB,GACnC,oBAAoB,GAAG,SAAS;IAOnC,IAAa,QAAQ,IAAI,MAAM,CAI9B;CACF"}
@@ -22,7 +22,7 @@ import { buildNotExpression, unwrapNotExpression, } from '../../QueryBuilderValu
22
22
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
23
23
  import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
24
24
  export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOperator {
25
- getLabel(filterConditionState) {
25
+ getLabel() {
26
26
  return 'starts with';
27
27
  }
28
28
  isCompatibleWithFilterConditionProperty(filterConditionState) {
@@ -47,7 +47,7 @@ export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOper
47
47
  .INTERNAL__enableInitializingDefaultSimpleExpressionValue);
48
48
  }
49
49
  default:
50
- throw new UnsupportedOperationError(`Can't get default value for filter operator '${this.getLabel(filterConditionState)}' when the LHS property is of type '${propertyType.path}'`);
50
+ throw new UnsupportedOperationError(`Can't get default value for filter operator '${this.getLabel()}' when the LHS property is of type '${propertyType.path}'`);
51
51
  }
52
52
  }
53
53
  buildFilterConditionExpression(filterConditionState, lambdaParameterName) {
@@ -63,7 +63,7 @@ export class QueryBuilderFilterOperator_StartWith extends QueryBuilderFilterOper
63
63
  }
64
64
  }
65
65
  export class QueryBuilderFilterOperator_NotStartWith extends QueryBuilderFilterOperator_StartWith {
66
- getLabel(filterConditionState) {
66
+ getLabel() {
67
67
  return `doesn't start with`;
68
68
  }
69
69
  buildFilterConditionExpression(filterConditionState, lambdaParameterName) {
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_StartWith.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_StartWith.js","sourceRoot":"","sources":["../../../../src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-query-builder",
3
- "version": "4.15.2",
3
+ "version": "4.15.4",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -44,11 +44,11 @@
44
44
  "dependencies": {
45
45
  "@finos/legend-application": "16.0.3",
46
46
  "@finos/legend-art": "7.1.62",
47
- "@finos/legend-code-editor": "2.0.3",
48
- "@finos/legend-data-cube": "0.0.8",
49
- "@finos/legend-graph": "31.10.37",
50
- "@finos/legend-lego": "2.0.5",
51
- "@finos/legend-server-depot": "6.0.62",
47
+ "@finos/legend-code-editor": "2.0.5",
48
+ "@finos/legend-data-cube": "0.0.10",
49
+ "@finos/legend-graph": "31.10.39",
50
+ "@finos/legend-lego": "2.0.7",
51
+ "@finos/legend-server-depot": "6.0.63",
52
52
  "@finos/legend-shared": "10.0.57",
53
53
  "@finos/legend-storage": "3.0.107",
54
54
  "@testing-library/dom": "10.4.0",
@@ -53,6 +53,8 @@ export enum QUERY_BUILDER_TEST_ID {
53
53
  QUERY_BUILDER_PARAMETERS = 'query-builder__parameters',
54
54
  // constant panel
55
55
  QUERY_BUILDER_CONSTANTS = 'query-builder__constants',
56
+ // function panel
57
+ QUERY_BUILDER_FUNCTIONS = 'query-builder__functions',
56
58
  // other
57
59
  QUERY_BUILDER_TOOLTIP_ICON = 'query-builder__tooltip__icon',
58
60
  // result panel
@@ -21,12 +21,11 @@ import { QueryBuilderDataCubeApplicationEngine } from '../../stores/data-cube/Qu
21
21
  import {
22
22
  clsx,
23
23
  Dialog,
24
- EmptyWindowRestoreIcon,
25
24
  Modal,
25
+ ModalFooter,
26
+ ModalFooterButton,
26
27
  TimesIcon,
27
- WindowMaximizeIcon,
28
28
  } from '@finos/legend-art';
29
- import { useState } from 'react';
30
29
  import { createDataCubeEngineFromQueryBuilder } from '../../stores/data-cube/QueryBuilderDataCubeEngineHelper.js';
31
30
 
32
31
  const QueryBuilderDataCube = observer(
@@ -55,37 +54,25 @@ const QueryBuilderDataCube = observer(
55
54
  export const QueryBuilderDataCubeDialog = observer(
56
55
  (props: { queryBuilderState: QueryBuilderState }) => {
57
56
  const { queryBuilderState } = props;
58
- const [isMaximized, setIsMaximized] = useState(false);
59
- const toggleMaximize = (): void => setIsMaximized(!isMaximized);
60
57
  const closeModal = () => queryBuilderState.setIsCubeEnabled(false);
61
58
  return (
62
59
  <Dialog
63
60
  open={true}
64
61
  onClose={closeModal}
65
- classes={{ container: 'dataspace-info-modal__container' }}
62
+ classes={{
63
+ root: 'editor-modal__root-container',
64
+ container: 'editor-modal__container',
65
+ paper: 'editor-modal__content',
66
+ }}
66
67
  >
67
68
  <Modal
68
69
  darkMode={false}
69
- className={clsx('editor-modal query-builder__dialog', {
70
- 'query-builder__dialog--expanded': isMaximized,
71
- })}
70
+ className={clsx('editor-modal query-builder-data-cube__dialog')}
72
71
  >
73
- <div className="query-builder__dialog__header">
74
- <div className="query-builder__dialog__header__actions">
72
+ <div className="query-builder-data-cube__dialog__header">
73
+ <div className="query-builder-data-cube__dialog__header__actions">
75
74
  <button
76
- className="query-builder__dialog__header__action"
77
- tabIndex={-1}
78
- onClick={toggleMaximize}
79
- title={isMaximized ? 'Minimize' : 'Maximize'}
80
- >
81
- {isMaximized ? (
82
- <EmptyWindowRestoreIcon />
83
- ) : (
84
- <WindowMaximizeIcon />
85
- )}
86
- </button>
87
- <button
88
- className="query-builder__dialog__header__action"
75
+ className="query-builder-data-cube__dialog__header__action"
89
76
  tabIndex={-1}
90
77
  onClick={closeModal}
91
78
  title="Close"
@@ -94,9 +81,12 @@ export const QueryBuilderDataCubeDialog = observer(
94
81
  </button>
95
82
  </div>
96
83
  </div>
97
- <div className="query-builder__dialog__content">
84
+ <div className="query-builder-data-cube__dialog__content">
98
85
  <QueryBuilderDataCube queryBuilderState={queryBuilderState} />
99
86
  </div>
87
+ <ModalFooter>
88
+ <ModalFooterButton onClick={closeModal}>Close</ModalFooterButton>
89
+ </ModalFooter>
100
90
  </Modal>
101
91
  </Dialog>
102
92
  );
@@ -44,16 +44,14 @@ import {
44
44
  import {
45
45
  type QueryBuilderFunctionsExplorerTreeNodeData,
46
46
  type QueryBuilderFunctionsExplorerDragSource,
47
- generateFunctionsExplorerTreeNodeData,
48
47
  getFunctionsExplorerTreeNodeChildren,
49
48
  QUERY_BUILDER_FUNCTION_DND_TYPE,
49
+ generateFunctionsExplorerTreeNodeDataFromFunctionAnalysisInfo,
50
50
  } from '../../stores/explorer/QueryFunctionsExplorerState.js';
51
51
  import { useDrag } from 'react-dnd';
52
52
  import {
53
- ConcreteFunctionDefinition,
54
- generateFunctionPrettyName,
53
+ type FunctionAnalysisInfo,
55
54
  getElementRootPackage,
56
- Package,
57
55
  ROOT_PACKAGE_NAME,
58
56
  getMultiplicityDescription,
59
57
  CORE_PURE_PATH,
@@ -61,20 +59,22 @@ import {
61
59
  } from '@finos/legend-graph';
62
60
  import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
63
61
  import { QueryBuilderTelemetryHelper } from '../../__lib__/QueryBuilderTelemetryHelper.js';
62
+ import { QUERY_BUILDER_TEST_ID } from '../../__lib__/QueryBuilderTesting.js';
64
63
 
65
64
  const isDependencyTreeNode = (
66
65
  node: QueryBuilderFunctionsExplorerTreeNodeData,
67
66
  ): boolean =>
68
- getElementRootPackage(node.packageableElement).name ===
69
- ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT;
67
+ node.package !== undefined &&
68
+ getElementRootPackage(node.package).name ===
69
+ ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT;
70
70
 
71
71
  const QueryBuilderFunctionInfoTooltip: React.FC<{
72
- element: ConcreteFunctionDefinition;
73
72
  children: React.ReactElement;
74
73
  placement?: TooltipPlacement | undefined;
74
+ functionInfo: FunctionAnalysisInfo;
75
75
  }> = (props) => {
76
- const { element, children, placement } = props;
77
- const documentation = element.taggedValues
76
+ const { children, placement, functionInfo } = props;
77
+ const documentation = functionInfo.taggedValues
78
78
  .filter(
79
79
  (taggedValue) =>
80
80
  taggedValue.tag.ownerReference.value.path ===
@@ -83,6 +83,23 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
83
83
  )
84
84
  .map((taggedValue) => taggedValue.value);
85
85
 
86
+ const generateParameterCallString = (): string => {
87
+ if (
88
+ functionInfo.parameterInfoList.length &&
89
+ functionInfo.parameterInfoList.length > 0
90
+ ) {
91
+ return functionInfo.parameterInfoList
92
+ .map(
93
+ (param) =>
94
+ `${param.name}: ${
95
+ param.type
96
+ }${getMultiplicityDescription(param.multiplicity)}`,
97
+ )
98
+ .join('; ');
99
+ }
100
+ return '';
101
+ };
102
+
86
103
  return (
87
104
  <Tooltip
88
105
  arrow={true}
@@ -102,7 +119,7 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
102
119
  Function Name
103
120
  </div>
104
121
  <div className="query-builder__tooltip__item__value">
105
- {element.path}
122
+ {functionInfo.functionPath}
106
123
  </div>
107
124
  </div>
108
125
  <div className="query-builder__tooltip__item">
@@ -110,14 +127,7 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
110
127
  Parameters
111
128
  </div>
112
129
  <div className="query-builder__tooltip__item__value">
113
- {element.parameters
114
- .map(
115
- (param) =>
116
- `${param.name}: ${
117
- param.type.value.name
118
- }${getMultiplicityDescription(param.multiplicity)}`,
119
- )
120
- .join('; ')}
130
+ {generateParameterCallString()}
121
131
  </div>
122
132
  </div>
123
133
  {Boolean(documentation.length) && (
@@ -135,7 +145,7 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
135
145
  Return Type
136
146
  </div>
137
147
  <div className="query-builder__tooltip__item__value">
138
- {element.returnType.value.name}
148
+ {functionInfo.returnType}
139
149
  </div>
140
150
  </div>
141
151
  </div>
@@ -147,20 +157,10 @@ const QueryBuilderFunctionInfoTooltip: React.FC<{
147
157
  };
148
158
 
149
159
  const QueryBuilderFunctionsExplorerListEntry = observer(
150
- (props: {
151
- queryBuilderState: QueryBuilderState;
152
- element: ConcreteFunctionDefinition;
153
- rootPackageName: ROOT_PACKAGE_NAME;
154
- }) => {
155
- const { queryBuilderState, element, rootPackageName } = props;
156
- const node = generateFunctionsExplorerTreeNodeData(
157
- queryBuilderState,
158
- element,
159
- rootPackageName,
160
- );
161
- const functionPrettyName = generateFunctionPrettyName(element, {
162
- fullPath: true,
163
- });
160
+ (props: { element: FunctionAnalysisInfo }) => {
161
+ const { element } = props;
162
+ const node =
163
+ generateFunctionsExplorerTreeNodeDataFromFunctionAnalysisInfo(element);
164
164
  const [, dragConnector, dragPreviewConnector] = useDrag(
165
165
  () => ({
166
166
  type: QUERY_BUILDER_FUNCTION_DND_TYPE,
@@ -183,15 +183,13 @@ const QueryBuilderFunctionsExplorerListEntry = observer(
183
183
  </div>
184
184
  <div
185
185
  className="query-builder__functions-explorer__function__label"
186
- title={functionPrettyName}
186
+ title={element.functionPrettyName}
187
187
  >
188
- {functionPrettyName}
188
+ {element.functionPrettyName}
189
189
  </div>
190
190
  </div>
191
191
  <div className="query-builder__functions-explorer__function__actions">
192
- <QueryBuilderFunctionInfoTooltip
193
- element={node.packageableElement as ConcreteFunctionDefinition}
194
- >
192
+ <QueryBuilderFunctionInfoTooltip functionInfo={element}>
195
193
  <div className="query-builder__functions-explorer__function__action query-builder__functions-explorer__function__node__info">
196
194
  <InfoCircleIcon />
197
195
  </div>
@@ -212,11 +210,11 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
212
210
  >,
213
211
  ) => {
214
212
  const { node, level, stepPaddingInRem, onNodeSelect } = props;
215
- const isPackage = node.packageableElement instanceof Package;
216
- const name =
217
- node.packageableElement instanceof ConcreteFunctionDefinition
218
- ? generateFunctionPrettyName(node.packageableElement)
219
- : node.packageableElement.name;
213
+ const name = node.functionAnalysisInfo
214
+ ? node.functionAnalysisInfo.functionPrettyName.split(
215
+ `${node.functionAnalysisInfo.packagePath}::`,
216
+ )[1]
217
+ : (node.package?.name ?? '');
220
218
  const isExpandable = Boolean(node.childrenIds.length);
221
219
  const nodeExpandIcon = isExpandable ? (
222
220
  node.isOpen ? (
@@ -231,7 +229,7 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
231
229
  const iconPackageColor = isDependencyTreeNode(node)
232
230
  ? 'color--dependency'
233
231
  : '';
234
- const nodeTypeIcon = isPackage ? (
232
+ const nodeTypeIcon = node.package ? (
235
233
  node.isOpen ? (
236
234
  <FolderOpenIcon className={iconPackageColor} />
237
235
  ) : (
@@ -248,10 +246,7 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
248
246
  }>(
249
247
  () => ({
250
248
  type: QUERY_BUILDER_FUNCTION_DND_TYPE,
251
- item: () =>
252
- node.packageableElement instanceof ConcreteFunctionDefinition
253
- ? { node }
254
- : {},
249
+ item: () => (node.functionAnalysisInfo ? { node } : {}),
255
250
  }),
256
251
  [node],
257
252
  );
@@ -289,10 +284,9 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
289
284
  {name}
290
285
  </div>
291
286
  <div className="query-builder__functions-explorer__tree__node__actions">
292
- {node.packageableElement instanceof
293
- ConcreteFunctionDefinition && (
287
+ {node.functionAnalysisInfo && (
294
288
  <QueryBuilderFunctionInfoTooltip
295
- element={node.packageableElement}
289
+ functionInfo={node.functionAnalysisInfo}
296
290
  >
297
291
  <div className="query-builder__functions-explorer__tree__node__action query-builder__functions-explorer__tree__node__info">
298
292
  <InfoCircleIcon />
@@ -331,6 +325,7 @@ const QueryBuilderPackableElementExplorerTree = observer(
331
325
  const dependencyTreeData = queryFunctionsState.getTreeData(
332
326
  ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT,
333
327
  );
328
+
334
329
  const onDependencyTreeSelect = (
335
330
  node: QueryBuilderFunctionsExplorerTreeNodeData,
336
331
  ): void => {
@@ -431,6 +426,10 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
431
426
  setShowDependencyFuncions(!showDependencyFuncions);
432
427
  };
433
428
 
429
+ useEffect(() => {
430
+ queryFunctionsState.initializeTreeData();
431
+ }, [queryFunctionsState]);
432
+
434
433
  useEffect(() => {
435
434
  QueryBuilderTelemetryHelper.logEvent_RenderPanelFunctionExplorer(
436
435
  queryBuilderState.applicationStore.telemetryService,
@@ -438,7 +437,10 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
438
437
  }, [queryBuilderState.applicationStore]);
439
438
 
440
439
  return (
441
- <div className="panel query-builder__functions-explorer">
440
+ <div
441
+ data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_FUNCTIONS}
442
+ className="panel query-builder__functions-explorer"
443
+ >
442
444
  <div className="panel__header">
443
445
  <div className="panel__header__title">
444
446
  <div className="panel__header__title__label">functions</div>
@@ -494,16 +496,13 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
494
496
  labelGetter={(
495
497
  item: QueryBuilderFunctionsExplorerDragSource,
496
498
  ): string =>
497
- generateFunctionPrettyName(
498
- item.node.packageableElement as ConcreteFunctionDefinition,
499
- { fullPath: true },
500
- )
499
+ item.node.functionAnalysisInfo?.functionPrettyName ?? ''
501
500
  }
502
501
  types={[QUERY_BUILDER_FUNCTION_DND_TYPE]}
503
502
  />
504
503
  {((showDependencyFuncions &&
505
- (!queryFunctionsState.dependencyTreeData ||
506
- queryFunctionsState.dependencyTreeData.rootIds.length === 0)) ||
504
+ queryFunctionsState.dependencyFunctionExplorerStates.length ===
505
+ 0) ||
507
506
  !showDependencyFuncions) &&
508
507
  queryFunctionsState.treeData?.rootIds.length === 0 && (
509
508
  <BlankPanelContent>
@@ -521,8 +520,8 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
521
520
  />
522
521
  )}
523
522
  {showDependencyFuncions &&
524
- queryFunctionsState.dependencyTreeData &&
525
- queryFunctionsState.dependencyTreeData.rootIds.length !== 0 && (
523
+ queryFunctionsState.dependencyFunctionExplorerStates.length !==
524
+ 0 && (
526
525
  <QueryBuilderPackableElementExplorerTree
527
526
  queryBuilderState={queryBuilderState}
528
527
  rootPackageName={ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT}
@@ -538,15 +537,13 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
538
537
  (funcExplorerState) => (
539
538
  <QueryBuilderFunctionsExplorerListEntry
540
539
  key={funcExplorerState.uuid}
541
- queryBuilderState={queryBuilderState}
542
- element={funcExplorerState.concreteFunctionDefinition}
543
- rootPackageName={ROOT_PACKAGE_NAME.MAIN}
540
+ element={funcExplorerState.functionAnalysisInfo}
544
541
  />
545
542
  ),
546
543
  )}
547
544
  {showDependencyFuncions &&
548
- queryFunctionsState.dependencyTreeData &&
549
- queryFunctionsState.dependencyTreeData.rootIds.length !== 0 && (
545
+ queryFunctionsState.dependencyFunctionExplorerStates.length >
546
+ 0 && (
550
547
  <>
551
548
  {queryFunctionsState.treeData?.rootIds.length !== 0 && (
552
549
  <div className="query-builder__functions-explorer__separator" />
@@ -555,11 +552,7 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
555
552
  (funcExplorerState) => (
556
553
  <QueryBuilderFunctionsExplorerListEntry
557
554
  key={funcExplorerState.uuid}
558
- queryBuilderState={queryBuilderState}
559
- element={funcExplorerState.concreteFunctionDefinition}
560
- rootPackageName={
561
- ROOT_PACKAGE_NAME.PROJECT_DEPENDENCY_ROOT
562
- }
555
+ element={funcExplorerState.functionAnalysisInfo}
563
556
  />
564
557
  ),
565
558
  )}
@@ -71,8 +71,7 @@ import { QUERY_BUILDER_TEST_ID } from '../../__lib__/QueryBuilderTesting.js';
71
71
  import { flowResult } from 'mobx';
72
72
  import { useApplicationStore } from '@finos/legend-application';
73
73
  import {
74
- type ConcreteFunctionDefinition,
75
- generateFunctionCallString,
74
+ type ValueSpecification,
76
75
  LAMBDA_PIPE,
77
76
  VARIABLE_REFERENCE_TOKEN,
78
77
  AbstractPropertyExpression,
@@ -81,12 +80,12 @@ import {
81
80
  PropertyExplicitReference,
82
81
  VariableExpression,
83
82
  Multiplicity,
84
- type ValueSpecification,
85
83
  PrimitiveType,
86
84
  GenericType,
87
85
  GenericTypeExplicitReference,
88
86
  observe_PrimitiveInstanceValue,
89
87
  PrimitiveInstanceValue,
88
+ generateFunctionCallStringFromFunctionAnalysisInfo,
90
89
  } from '@finos/legend-graph';
91
90
  import {
92
91
  type QueryBuilderFunctionsExplorerDragSource,
@@ -239,13 +238,20 @@ const QueryBuilderDerivationProjectionColumnEditor = observer(
239
238
  }`,
240
239
  );
241
240
  } else if (type === QUERY_BUILDER_FUNCTION_DND_TYPE) {
241
+ const functionAnalysisInfo = (
242
+ item as QueryBuilderFunctionsExplorerDragSource
243
+ ).node.functionAnalysisInfo;
244
+ const functionPrettyName = functionAnalysisInfo
245
+ ? generateFunctionCallStringFromFunctionAnalysisInfo(
246
+ projectionColumnState.tdsState.queryBuilderState
247
+ .graphManagerState.graph,
248
+ functionAnalysisInfo,
249
+ )
250
+ : '';
242
251
  projectionColumnState.derivationLambdaEditorState.setLambdaString(
243
252
  `${
244
253
  projectionColumnState.derivationLambdaEditorState.lambdaString
245
- }${`${generateFunctionCallString(
246
- (item as QueryBuilderFunctionsExplorerDragSource).node
247
- .packageableElement as ConcreteFunctionDefinition,
248
- )}`}`,
254
+ }${functionPrettyName}`,
249
255
  );
250
256
  } else {
251
257
  projectionColumnState.derivationLambdaEditorState.setLambdaString(
@@ -1262,11 +1268,17 @@ export const QueryBuilderTDSPanel = observer(
1262
1268
  { addDummyParameter: true },
1263
1269
  ),
1264
1270
  );
1271
+ const functionAnalysisInfo = (
1272
+ item as QueryBuilderFunctionsExplorerDragSource
1273
+ ).node.functionAnalysisInfo;
1274
+ const functionPrettyName = functionAnalysisInfo
1275
+ ? generateFunctionCallStringFromFunctionAnalysisInfo(
1276
+ tdsState.queryBuilderState.graphManagerState.graph,
1277
+ functionAnalysisInfo,
1278
+ )
1279
+ : '';
1265
1280
  derivationProjectionColumn.derivationLambdaEditorState.setLambdaString(
1266
- `${DEFAULT_LAMBDA_VARIABLE_NAME}${LAMBDA_PIPE}${generateFunctionCallString(
1267
- (item as QueryBuilderFunctionsExplorerDragSource).node
1268
- .packageableElement as ConcreteFunctionDefinition,
1269
- )}`,
1281
+ `${DEFAULT_LAMBDA_VARIABLE_NAME}${LAMBDA_PIPE}${functionPrettyName} `,
1270
1282
  );
1271
1283
  tdsState.addColumn(derivationProjectionColumn);
1272
1284
  break;
@@ -1110,7 +1110,7 @@ const QueryBuilderFilterConditionEditor = observer(
1110
1110
  className="query-builder-filter-tree__condition-node__operator__dropdown__option"
1111
1111
  onClick={changeOperator(op)}
1112
1112
  >
1113
- {op.getLabel(node.condition)}
1113
+ {op.getLabel()}
1114
1114
  </MenuContentItem>
1115
1115
  ))}
1116
1116
  </MenuContent>
@@ -1122,7 +1122,7 @@ const QueryBuilderFilterConditionEditor = observer(
1122
1122
  }}
1123
1123
  >
1124
1124
  <div className="query-builder-filter-tree__condition-node__operator__label">
1125
- {node.condition.operator.getLabel(node.condition)}
1125
+ {node.condition.operator.getLabel()}
1126
1126
  </div>
1127
1127
  <div className="query-builder-filter-tree__condition-node__operator__dropdown__trigger">
1128
1128
  <CaretDownIcon />
@@ -20,6 +20,7 @@ import { PRIMITIVE_TYPE, type TDSExecutionResult } from '@finos/legend-graph';
20
20
  import { useState, useCallback, useEffect } from 'react';
21
21
  import {
22
22
  DataGrid,
23
+ type DataGridCellSelectionChangedEvent,
23
24
  type DataGridApi,
24
25
  type DataGridCellRange,
25
26
  type DataGridColumnDefinition,
@@ -347,7 +348,7 @@ export const QueryBuilderTDSGridResult = observer(
347
348
  resultState.mousedOverCell,
348
349
  true,
349
350
  fetchStructureImplementation,
350
- );
351
+ ).catch(queryBuilderState.applicationStore.alertUnhandledError);
351
352
  },
352
353
  },
353
354
  {
@@ -358,7 +359,7 @@ export const QueryBuilderTDSGridResult = observer(
358
359
  resultState.mousedOverCell,
359
360
  false,
360
361
  fetchStructureImplementation,
361
- );
362
+ ).catch(queryBuilderState.applicationStore.alertUnhandledError);
362
363
  },
363
364
  },
364
365
  'copy',
@@ -377,6 +378,7 @@ export const QueryBuilderTDSGridResult = observer(
377
378
  applicationStore,
378
379
  resultState.mousedOverCell,
379
380
  resultState.queryBuilderState.fetchStructureState.implementation,
381
+ queryBuilderState.applicationStore.alertUnhandledError,
380
382
  ],
381
383
  );
382
384
 
@@ -554,7 +556,9 @@ export const QueryBuilderTDSGridResult = observer(
554
556
  onRowDataUpdated={(params) => {
555
557
  params.api.refreshCells({ force: true });
556
558
  }}
557
- onRangeSelectionChanged={(event) => {
559
+ onCellSelectionChanged={(
560
+ event: DataGridCellSelectionChangedEvent<QueryBuilderTDSRowDataType>,
561
+ ) => {
558
562
  const selectedCells = getSelectedCells(event.api);
559
563
  resultState.setSelectedCells([]);
560
564
  selectedCells.forEach((cell) =>