@finos/legend-application-query 5.0.0 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (148) hide show
  1. package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -1
  2. package/lib/components/QueryBuilderExplorerPanel.js +3 -1
  3. package/lib/components/QueryBuilderExplorerPanel.js.map +1 -1
  4. package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
  5. package/lib/components/QueryBuilderFetchStructurePanel.js +39 -7
  6. package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -1
  7. package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -1
  8. package/lib/components/QueryBuilderFilterPanel.js +59 -15
  9. package/lib/components/QueryBuilderFilterPanel.js.map +1 -1
  10. package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  12. package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -1
  13. package/lib/components/QueryBuilderParameterPanel.js +3 -2
  14. package/lib/components/QueryBuilderParameterPanel.js.map +1 -1
  15. package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderPostFilterPanel.js +29 -7
  17. package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -1
  18. package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -1
  19. package/lib/components/QueryBuilderProjectionPanel.js +6 -2
  20. package/lib/components/QueryBuilderProjectionPanel.js.map +1 -1
  21. package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
  22. package/lib/components/QueryBuilderPropertySearchPanel.js +3 -2
  23. package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -1
  24. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  25. package/lib/components/QueryBuilderResultPanel.js +13 -7
  26. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  27. package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -1
  28. package/lib/components/QueryBuilderSetupPanel.js +5 -3
  29. package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
  30. package/lib/index.css +2 -2
  31. package/lib/index.css.map +1 -1
  32. package/lib/index.d.ts +2 -1
  33. package/lib/index.d.ts.map +1 -1
  34. package/lib/index.js +2 -1
  35. package/lib/index.js.map +1 -1
  36. package/lib/package.json +2 -3
  37. package/lib/stores/QueryBuilderExplorerState.d.ts +1 -1
  38. package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -1
  39. package/lib/stores/QueryBuilderExplorerState.js +13 -3
  40. package/lib/stores/QueryBuilderExplorerState.js.map +1 -1
  41. package/lib/stores/QueryBuilderFetchStructureState.d.ts +2 -1
  42. package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -1
  43. package/lib/stores/QueryBuilderFetchStructureState.js +2 -2
  44. package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -1
  45. package/lib/stores/QueryBuilderFilterState.d.ts +11 -1
  46. package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -1
  47. package/lib/stores/QueryBuilderFilterState.js +33 -2
  48. package/lib/stores/QueryBuilderFilterState.js.map +1 -1
  49. package/lib/stores/QueryBuilderOperatorLoader.d.ts +47 -0
  50. package/lib/stores/QueryBuilderOperatorLoader.d.ts.map +1 -0
  51. package/lib/stores/QueryBuilderOperatorLoader.js +94 -0
  52. package/lib/stores/QueryBuilderOperatorLoader.js.map +1 -0
  53. package/lib/stores/QueryBuilderOperatorsHelper.d.ts +1 -0
  54. package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +1 -1
  55. package/lib/stores/QueryBuilderOperatorsHelper.js +28 -1
  56. package/lib/stores/QueryBuilderOperatorsHelper.js.map +1 -1
  57. package/lib/stores/QueryBuilderPostFilterState.d.ts +5 -2
  58. package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -1
  59. package/lib/stores/QueryBuilderPostFilterState.js +25 -1
  60. package/lib/stores/QueryBuilderPostFilterState.js.map +1 -1
  61. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts +4 -3
  62. package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -1
  63. package/lib/stores/QueryBuilderPreviewDataHelper.js +77 -97
  64. package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
  65. package/lib/stores/QueryBuilderProjectionState.d.ts +4 -2
  66. package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -1
  67. package/lib/stores/QueryBuilderProjectionState.js +24 -28
  68. package/lib/stores/QueryBuilderProjectionState.js.map +1 -1
  69. package/lib/stores/QueryBuilderPropertySearchPanelState.js +1 -1
  70. package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +1 -1
  71. package/lib/stores/QueryBuilderResultState.d.ts +5 -2
  72. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  73. package/lib/stores/QueryBuilderResultState.js +19 -7
  74. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  75. package/lib/stores/QueryBuilderState.d.ts +2 -0
  76. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  77. package/lib/stores/QueryBuilderState.js +11 -58
  78. package/lib/stores/QueryBuilderState.js.map +1 -1
  79. package/lib/stores/QueryBuilderTestUtils.d.ts +24 -0
  80. package/lib/stores/QueryBuilderTestUtils.d.ts.map +1 -0
  81. package/lib/stores/QueryBuilderTestUtils.js +49 -0
  82. package/lib/stores/QueryBuilderTestUtils.js.map +1 -0
  83. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts +24 -0
  84. package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -0
  85. package/lib/stores/QueryBuilderTypeaheadHelper.js +89 -0
  86. package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -0
  87. package/lib/stores/QueryEditorStore.d.ts.map +1 -1
  88. package/lib/stores/QueryEditorStore.js +3 -7
  89. package/lib/stores/QueryEditorStore.js.map +1 -1
  90. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  91. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +5 -31
  92. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  93. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  94. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +5 -31
  95. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  96. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  97. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +5 -31
  98. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  99. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  100. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +5 -32
  101. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  102. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  103. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +5 -31
  104. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  105. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  106. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +3 -29
  107. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  108. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  109. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +4 -30
  110. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  111. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  112. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +4 -30
  113. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  114. package/package.json +9 -10
  115. package/src/components/QueryBuilderExplorerPanel.tsx +3 -1
  116. package/src/components/QueryBuilderFetchStructurePanel.tsx +47 -7
  117. package/src/components/QueryBuilderFilterPanel.tsx +101 -21
  118. package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +1 -0
  119. package/src/components/QueryBuilderParameterPanel.tsx +3 -2
  120. package/src/components/QueryBuilderPostFilterPanel.tsx +53 -7
  121. package/src/components/QueryBuilderProjectionPanel.tsx +19 -2
  122. package/src/components/QueryBuilderPropertySearchPanel.tsx +2 -1
  123. package/src/components/QueryBuilderResultPanel.tsx +75 -46
  124. package/src/components/QueryBuilderSetupPanel.tsx +5 -3
  125. package/src/index.ts +2 -4
  126. package/src/stores/QueryBuilderExplorerState.ts +17 -3
  127. package/src/stores/QueryBuilderFetchStructureState.ts +9 -2
  128. package/src/stores/QueryBuilderFilterState.ts +50 -0
  129. package/src/stores/QueryBuilderOperatorLoader.ts +133 -0
  130. package/src/stores/QueryBuilderOperatorsHelper.ts +35 -0
  131. package/src/stores/QueryBuilderPostFilterState.ts +40 -1
  132. package/src/stores/QueryBuilderPreviewDataHelper.ts +122 -217
  133. package/src/stores/QueryBuilderProjectionState.ts +40 -42
  134. package/src/stores/QueryBuilderPropertySearchPanelState.ts +1 -1
  135. package/src/stores/QueryBuilderResultState.ts +27 -9
  136. package/src/stores/QueryBuilderState.ts +27 -94
  137. package/src/stores/QueryBuilderTestUtils.ts +93 -0
  138. package/src/stores/QueryBuilderTypeaheadHelper.ts +149 -0
  139. package/src/stores/QueryEditorStore.ts +11 -12
  140. package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +6 -35
  141. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +9 -35
  142. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +9 -35
  143. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +9 -36
  144. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +9 -35
  145. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +6 -33
  146. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +11 -36
  147. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +11 -36
  148. package/tsconfig.json +3 -0
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterOperator_LessThanEqual.js","sourceRoot":"","sources":["../../../src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterOperator_LessThanEqual.js","sourceRoot":"","sources":["../../../src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterOperator_Equal.d.ts","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EACT,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAYxB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAI3C,qBAAa,oCAAqC,SAAQ,8BAA8B;IACtF,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAoBzC,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,OAAO;IAwCV,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB;IAqDrB,kCAAkC,CAChC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAajC,6BAA6B,CAC3B,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,kBAAkB,GAC7B,wBAAwB,GAAG,SAAS;CAcxC;AACD,qBAAa,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,IAAI,MAAM;IAIlB,kCAAkC,CACzC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAaxB,6BAA6B,CACpC,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,wBAAwB,GACnC,wBAAwB,GAAG,SAAS;CAMxC"}
1
+ {"version":3,"file":"QueryBuilderPostFilterOperator_Equal.d.ts","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EACT,KAAK,kBAAkB,EAEvB,KAAK,wBAAwB,EAC7B,KAAK,kBAAkB,EAWxB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAI3C,qBAAa,oCAAqC,SAAQ,8BAA8B;IACtF,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAoBzC,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,OAAO;IAaV,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB;IAqDrB,kCAAkC,CAChC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAajC,6BAA6B,CAC3B,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,kBAAkB,GAC7B,wBAAwB,GAAG,SAAS;CAcxC;AACD,qBAAa,uCAAwC,SAAQ,oCAAoC;IACtF,QAAQ,IAAI,MAAM;IAIlB,kCAAkC,CACzC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAaxB,6BAA6B,CACpC,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,wBAAwB,GACnC,wBAAwB,GAAG,SAAS;CAMxC"}
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { AbstractPropertyExpression, Enumeration, EnumValueExplicitReference, EnumValueInstanceValue, GenericType, GenericTypeExplicitReference, PRIMITIVE_TYPE, TYPICAL_MULTIPLICITY_TYPE, isSuperType, SUPPORTED_FUNCTIONS, buildPrimitiveInstanceValue, } from '@finos/legend-graph';
16
+ import { AbstractPropertyExpression, Enumeration, EnumValueExplicitReference, EnumValueInstanceValue, GenericType, GenericTypeExplicitReference, PRIMITIVE_TYPE, TYPICAL_MULTIPLICITY_TYPE, SUPPORTED_FUNCTIONS, buildPrimitiveInstanceValue, } from '@finos/legend-graph';
17
17
  import { guaranteeNonNullable, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
19
- import { buildNotExpression, getNonCollectionValueSpecificationType, unwrapNotExpression, } from '../QueryBuilderOperatorsHelper.js';
19
+ import { buildNotExpression, getNonCollectionValueSpecificationType, isTypeCompatibleWithConditionValueType, unwrapNotExpression, } from '../QueryBuilderOperatorsHelper.js';
20
20
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
21
21
  import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
22
22
  import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
@@ -41,35 +41,9 @@ export class QueryBuilderPostFilterOperator_Equal extends QueryBuilderPostFilter
41
41
  (type instanceof Enumeration && type.values.length > 0));
42
42
  }
43
43
  isCompatibleWithConditionValue(postFilterConditionState) {
44
- const lhsType = guaranteeNonNullable(postFilterConditionState.columnState.getReturnType());
45
44
  const valueSpecification = postFilterConditionState.value;
46
45
  if (valueSpecification) {
47
- const type = getNonCollectionValueSpecificationType(valueSpecification);
48
- const NUMERIC_PRIMITIVE_TYPES = [
49
- PRIMITIVE_TYPE.NUMBER,
50
- PRIMITIVE_TYPE.INTEGER,
51
- PRIMITIVE_TYPE.DECIMAL,
52
- PRIMITIVE_TYPE.FLOAT,
53
- ];
54
- const DATE_PRIMITIVE_TYPES = [
55
- PRIMITIVE_TYPE.DATE,
56
- PRIMITIVE_TYPE.DATETIME,
57
- PRIMITIVE_TYPE.STRICTDATE,
58
- PRIMITIVE_TYPE.LATESTDATE,
59
- ];
60
- // When changing the return type for LHS, the RHS value should be adjusted accordingly.
61
- return (type !== undefined &&
62
- // Numeric value is handled loosely because of autoboxing
63
- // e.g. LHS (integer) = RHS (float) is acceptable
64
- ((NUMERIC_PRIMITIVE_TYPES.includes(type.path) &&
65
- NUMERIC_PRIMITIVE_TYPES.includes(lhsType.path)) ||
66
- // Date value is handled loosely as well if the LHS is of type DateTime
67
- // This is because we would simulate auto-boxing for date by altering the
68
- // Pure function used for the operation
69
- // e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
70
- DATE_PRIMITIVE_TYPES.includes(type.path) ||
71
- type === lhsType ||
72
- isSuperType(lhsType, type)));
46
+ return isTypeCompatibleWithConditionValueType(getNonCollectionValueSpecificationType(valueSpecification), guaranteeNonNullable(postFilterConditionState.columnState.getReturnType()));
73
47
  }
74
48
  return false;
75
49
  }
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterOperator_Equal.js","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderPostFilterOperator_Equal.js","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterOperator_GreaterThan.d.ts","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAMxB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAI3C,qBAAa,0CAA2C,SAAQ,8BAA8B;IAC5F,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAczC,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,OAAO;IAsCV,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB;IA0BrB,kCAAkC,CAChC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAajC,6BAA6B,CAC3B,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,kBAAkB,GAC7B,wBAAwB,GAAG,SAAS;CAcxC"}
1
+ {"version":3,"file":"QueryBuilderPostFilterOperator_GreaterThan.d.ts","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EACT,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EAKxB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAI3C,qBAAa,0CAA2C,SAAQ,8BAA8B;IAC5F,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAczC,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,OAAO;IAWV,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB;IA0BrB,kCAAkC,CAChC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAajC,6BAA6B,CAC3B,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,kBAAkB,GAC7B,wBAAwB,GAAG,SAAS;CAcxC"}
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { AbstractPropertyExpression, PRIMITIVE_TYPE, isSuperType, SUPPORTED_FUNCTIONS, buildPrimitiveInstanceValue, } from '@finos/legend-graph';
16
+ import { AbstractPropertyExpression, PRIMITIVE_TYPE, SUPPORTED_FUNCTIONS, buildPrimitiveInstanceValue, } from '@finos/legend-graph';
17
17
  import { guaranteeNonNullable, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
19
- import { getNonCollectionValueSpecificationType } from '../QueryBuilderOperatorsHelper.js';
19
+ import { getNonCollectionValueSpecificationType, isTypeCompatibleWithConditionValueType, } from '../QueryBuilderOperatorsHelper.js';
20
20
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
21
21
  import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
22
22
  import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
@@ -37,35 +37,9 @@ export class QueryBuilderPostFilterOperator_GreaterThan extends QueryBuilderPost
37
37
  ].includes(type.path);
38
38
  }
39
39
  isCompatibleWithConditionValue(postFilterConditionState) {
40
- const lhsType = guaranteeNonNullable(postFilterConditionState.columnState.getReturnType());
41
- const type = postFilterConditionState.value
40
+ return isTypeCompatibleWithConditionValueType(postFilterConditionState.value
42
41
  ? getNonCollectionValueSpecificationType(postFilterConditionState.value)
43
- : undefined;
44
- const NUMERIC_PRIMITIVE_TYPES = [
45
- PRIMITIVE_TYPE.NUMBER,
46
- PRIMITIVE_TYPE.INTEGER,
47
- PRIMITIVE_TYPE.DECIMAL,
48
- PRIMITIVE_TYPE.FLOAT,
49
- ];
50
- const DATE_PRIMITIVE_TYPES = [
51
- PRIMITIVE_TYPE.DATE,
52
- PRIMITIVE_TYPE.DATETIME,
53
- PRIMITIVE_TYPE.STRICTDATE,
54
- PRIMITIVE_TYPE.LATESTDATE,
55
- ];
56
- // When changing the return type for LHS, the RHS value should be adjusted accordingly.
57
- return (type !== undefined &&
58
- // Numeric value is handled loosely because of autoboxing
59
- // e.g. LHS (integer) = RHS (float) is acceptable
60
- ((NUMERIC_PRIMITIVE_TYPES.includes(type.path) &&
61
- NUMERIC_PRIMITIVE_TYPES.includes(lhsType.path)) ||
62
- // Date value is handled loosely as well if the LHS is of type DateTime
63
- // This is because we would simulate auto-boxing for date by altering the
64
- // Pure function used for the operation
65
- // e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
66
- DATE_PRIMITIVE_TYPES.includes(type.path) ||
67
- type === lhsType ||
68
- isSuperType(lhsType, type)));
42
+ : undefined, guaranteeNonNullable(postFilterConditionState.columnState.getReturnType()));
69
43
  }
70
44
  getDefaultFilterConditionValue(postFilterConditionState) {
71
45
  const propertyType = postFilterConditionState.columnState.getReturnType();
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterOperator_GreaterThan.js","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderPostFilterOperator_GreaterThan.js","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterOperator_LessThan.d.ts","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EACT,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAKxB,MAAM,qBAAqB,CAAC;AAO7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAI3C,qBAAa,uCAAwC,SAAQ,8BAA8B;IACzF,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAczC,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,OAAO;IAsCV,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB;IA0BrB,kCAAkC,CAChC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAajC,6BAA6B,CAC3B,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,kBAAkB,GAC7B,wBAAwB,GAAG,SAAS;CAcxC"}
1
+ {"version":3,"file":"QueryBuilderPostFilterOperator_LessThan.d.ts","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,KAAK,IAAI,EACT,KAAK,kBAAkB,EAEvB,KAAK,kBAAkB,EAIxB,MAAM,qBAAqB,CAAC;AAU7B,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AAEtF,OAAO,KAAK,EACV,wBAAwB,EACxB,2BAA2B,EAC5B,MAAM,mCAAmC,CAAC;AAI3C,qBAAa,uCAAwC,SAAQ,8BAA8B;IACzF,QAAQ,IAAI,MAAM;IAIlB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO;IAczC,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,OAAO;IAWV,8BAA8B,CAC5B,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB;IA0BrB,kCAAkC,CAChC,wBAAwB,EAAE,wBAAwB,GACjD,kBAAkB,GAAG,SAAS;IAajC,6BAA6B,CAC3B,eAAe,EAAE,2BAA2B,EAC5C,UAAU,EAAE,kBAAkB,GAC7B,wBAAwB,GAAG,SAAS;CAcxC"}
@@ -13,10 +13,10 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { AbstractPropertyExpression, PRIMITIVE_TYPE, SUPPORTED_FUNCTIONS, isSuperType, buildPrimitiveInstanceValue, } from '@finos/legend-graph';
16
+ import { AbstractPropertyExpression, PRIMITIVE_TYPE, SUPPORTED_FUNCTIONS, buildPrimitiveInstanceValue, } from '@finos/legend-graph';
17
17
  import { guaranteeNonNullable, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilder_Const.js';
19
- import { getNonCollectionValueSpecificationType } from '../QueryBuilderOperatorsHelper.js';
19
+ import { getNonCollectionValueSpecificationType, isTypeCompatibleWithConditionValueType, } from '../QueryBuilderOperatorsHelper.js';
20
20
  import { QueryBuilderPostFilterOperator } from '../QueryBuilderPostFilterOperator.js';
21
21
  import { buildPostFilterConditionState } from '../QueryBuilderPostFilterProcessor.js';
22
22
  import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationBuilderHelper.js';
@@ -37,35 +37,9 @@ export class QueryBuilderPostFilterOperator_LessThan extends QueryBuilderPostFil
37
37
  ].includes(type.path);
38
38
  }
39
39
  isCompatibleWithConditionValue(postFilterConditionState) {
40
- const lhsType = guaranteeNonNullable(postFilterConditionState.columnState.getReturnType());
41
- const type = postFilterConditionState.value
40
+ return isTypeCompatibleWithConditionValueType(postFilterConditionState.value
42
41
  ? getNonCollectionValueSpecificationType(postFilterConditionState.value)
43
- : undefined;
44
- const NUMERIC_PRIMITIVE_TYPES = [
45
- PRIMITIVE_TYPE.NUMBER,
46
- PRIMITIVE_TYPE.INTEGER,
47
- PRIMITIVE_TYPE.DECIMAL,
48
- PRIMITIVE_TYPE.FLOAT,
49
- ];
50
- const DATE_PRIMITIVE_TYPES = [
51
- PRIMITIVE_TYPE.DATE,
52
- PRIMITIVE_TYPE.DATETIME,
53
- PRIMITIVE_TYPE.STRICTDATE,
54
- PRIMITIVE_TYPE.LATESTDATE,
55
- ];
56
- // When changing the return type for LHS, the RHS value should be adjusted accordingly.
57
- return (type !== undefined &&
58
- // Numeric value is handled loosely because of autoboxing
59
- // e.g. LHS (integer) = RHS (float) is acceptable
60
- ((NUMERIC_PRIMITIVE_TYPES.includes(type.path) &&
61
- NUMERIC_PRIMITIVE_TYPES.includes(lhsType.path)) ||
62
- // Date value is handled loosely as well if the LHS is of type DateTime
63
- // This is because we would simulate auto-boxing for date by altering the
64
- // Pure function used for the operation
65
- // e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
66
- DATE_PRIMITIVE_TYPES.includes(type.path) ||
67
- type === lhsType ||
68
- isSuperType(lhsType, type)));
42
+ : undefined, guaranteeNonNullable(postFilterConditionState.columnState.getReturnType()));
69
43
  }
70
44
  getDefaultFilterConditionValue(postFilterConditionState) {
71
45
  const propertyType = postFilterConditionState.columnState.getReturnType();
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterOperator_LessThan.js","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderPostFilterOperator_LessThan.js","sourceRoot":"","sources":["../../../src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-query",
3
- "version": "5.0.0",
3
+ "version": "5.1.0",
4
4
  "description": "Legend Query application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -46,12 +46,12 @@
46
46
  "@ag-grid-community/client-side-row-model": "28.0.2",
47
47
  "@ag-grid-community/core": "28.0.2",
48
48
  "@ag-grid-community/react": "28.0.0",
49
- "@finos/legend-application": "7.0.1",
50
- "@finos/legend-art": "2.0.10",
51
- "@finos/legend-graph": "12.0.0",
52
- "@finos/legend-server-depot": "3.0.1",
53
- "@finos/legend-shared": "5.0.1",
54
- "@finos/legend-storage": "3.0.0",
49
+ "@finos/legend-application": "7.0.4",
50
+ "@finos/legend-art": "2.1.0",
51
+ "@finos/legend-graph": "13.0.2",
52
+ "@finos/legend-server-depot": "3.0.4",
53
+ "@finos/legend-shared": "5.0.3",
54
+ "@finos/legend-storage": "3.0.3",
55
55
  "@testing-library/react": "13.3.0",
56
56
  "@types/react": "18.0.15",
57
57
  "@types/react-dom": "18.0.6",
@@ -70,11 +70,10 @@
70
70
  "react-router-dom": "5.3.3"
71
71
  },
72
72
  "devDependencies": {
73
- "@finos/legend-dev-utils": "2.0.6",
73
+ "@finos/legend-dev-utils": "2.0.9",
74
74
  "@jest/globals": "28.1.3",
75
- "@testing-library/dom": "8.16.0",
76
75
  "cross-env": "7.0.3",
77
- "eslint": "8.20.0",
76
+ "eslint": "8.21.0",
78
77
  "jest": "28.1.3",
79
78
  "npm-run-all": "4.1.5",
80
79
  "rimraf": "3.0.2",
@@ -777,7 +777,9 @@ const QueryBuilderExplorerTree = observer(
777
777
  explorerState.mappingModelCoverageAnalysisResult,
778
778
  ),
779
779
  );
780
- treeData.nodes.set(propertyTreeNodeData.id, propertyTreeNodeData);
780
+ if (propertyTreeNodeData) {
781
+ treeData.nodes.set(propertyTreeNodeData.id, propertyTreeNodeData);
782
+ }
781
783
  });
782
784
  node.type._subclasses.forEach((subclass) => {
783
785
  const subTypeTreeNodeData = getQueryBuilderSubTypeNodeData(
@@ -32,6 +32,8 @@ import {
32
32
  ActionAlertType,
33
33
  useApplicationStore,
34
34
  } from '@finos/legend-application';
35
+ import { QueryBuilderProjectionState } from '../stores/QueryBuilderProjectionState.js';
36
+ import { QueryBuilderGraphFetchTreeState } from '../stores/QueryBuilderGraphFetchTreeState.js';
35
37
 
36
38
  const QueryBuilderUnsupportedFetchStructure = observer(
37
39
  (props: { mode: FETCH_STRUCTURE_MODE }) => {
@@ -88,15 +90,17 @@ export const QueryBuilderFetchStructurePanel = observer(
88
90
  (fetchMode: FETCH_STRUCTURE_MODE): (() => void) =>
89
91
  (): void => {
90
92
  if (fetchStructureState.fetchStructureMode !== fetchMode) {
91
- // TODO: might want to add alert modal to alert user changing fetch structure resets state
92
93
  if (
93
94
  fetchMode === FETCH_STRUCTURE_MODE.GRAPH_FETCH &&
94
- queryBuilderState.showPostFilterPanel &&
95
- queryBuilderState.postFilterState.nodes.size > 0
95
+ queryBuilderState.fetchStructureState.projectionState.columns
96
+ .length > 0
96
97
  ) {
97
98
  applicationStore.setActionAlertInfo({
98
99
  message:
99
- 'With graph fetch, post filter is not supported. Current post filters will be lost when switching to the graph fetch panel. Do you still want to proceed?',
100
+ queryBuilderState.showPostFilterPanel &&
101
+ queryBuilderState.postFilterState.nodes.size > 0
102
+ ? 'With graph fetch, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph fetch panel. Do you still want to proceed?'
103
+ : 'Current projection columns will be lost when switching to the graph fetch panel. Do you still want to proceed?',
100
104
  type: ActionAlertType.CAUTION,
101
105
  actions: [
102
106
  {
@@ -105,6 +109,44 @@ export const QueryBuilderFetchStructurePanel = observer(
105
109
  handler: applicationStore.guardUnhandledError(async () => {
106
110
  fetchStructureState.setFetchStructureMode(fetchMode);
107
111
  queryBuilderState.changeFetchStructure();
112
+ queryBuilderState.fetchStructureState.projectionState =
113
+ new QueryBuilderProjectionState(
114
+ queryBuilderState,
115
+ queryBuilderState.fetchStructureState.projectionState.aggregationState.operators,
116
+ );
117
+ queryBuilderState.postFilterState =
118
+ new QueryBuilderPostFilterState(
119
+ queryBuilderState,
120
+ queryBuilderState.postFilterOperators,
121
+ );
122
+ queryBuilderState.setShowPostFilterPanel(false);
123
+ }),
124
+ },
125
+ {
126
+ label: 'Cancel',
127
+ type: ActionAlertActionType.PROCEED,
128
+ default: true,
129
+ },
130
+ ],
131
+ });
132
+ } else if (
133
+ fetchMode === FETCH_STRUCTURE_MODE.PROJECTION &&
134
+ queryBuilderState.fetchStructureState.graphFetchTreeState.treeData
135
+ ?.rootIds.length
136
+ ) {
137
+ applicationStore.setActionAlertInfo({
138
+ message:
139
+ 'Current graph fetch nodes will be lost when switching to the projection panel. Do you still want to proceed?',
140
+ type: ActionAlertType.CAUTION,
141
+ actions: [
142
+ {
143
+ label: 'Proceed',
144
+ type: ActionAlertActionType.PROCEED_WITH_CAUTION,
145
+ handler: applicationStore.guardUnhandledError(async () => {
146
+ fetchStructureState.setFetchStructureMode(fetchMode);
147
+ queryBuilderState.changeFetchStructure();
148
+ queryBuilderState.fetchStructureState.graphFetchTreeState =
149
+ new QueryBuilderGraphFetchTreeState(queryBuilderState);
108
150
  queryBuilderState.postFilterState =
109
151
  new QueryBuilderPostFilterState(
110
152
  queryBuilderState,
@@ -127,9 +169,7 @@ export const QueryBuilderFetchStructurePanel = observer(
127
169
  queryBuilderState,
128
170
  queryBuilderState.postFilterOperators,
129
171
  );
130
- if (fetchMode === FETCH_STRUCTURE_MODE.GRAPH_FETCH) {
131
- queryBuilderState.setShowPostFilterPanel(false);
132
- }
172
+ queryBuilderState.setShowPostFilterPanel(false);
133
173
  }
134
174
  }
135
175
  };
@@ -14,7 +14,14 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { useEffect, useRef, useState, useCallback, forwardRef } from 'react';
17
+ import {
18
+ useEffect,
19
+ useRef,
20
+ useState,
21
+ useCallback,
22
+ forwardRef,
23
+ useMemo,
24
+ } from 'react';
18
25
  import { observer } from 'mobx-react-lite';
19
26
  import {
20
27
  type TreeNodeContainerProps,
@@ -65,7 +72,11 @@ import {
65
72
  } from '../stores/QueryBuilderExplorerState.js';
66
73
  import { QueryBuilderPropertyExpressionBadge } from './QueryBuilderPropertyExpressionEditor.js';
67
74
  import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
68
- import { assertErrorThrown } from '@finos/legend-shared';
75
+ import {
76
+ assertErrorThrown,
77
+ debounce,
78
+ UnsupportedOperationError,
79
+ } from '@finos/legend-shared';
69
80
  import { QUERY_BUILDER_TEST_ID } from './QueryBuilder_TestID.js';
70
81
  import {
71
82
  useApplicationStore,
@@ -75,8 +86,16 @@ import {
75
86
  type QueryBuilderParameterDragSource,
76
87
  QUERY_BUILDER_PARAMETER_TREE_DND_TYPE,
77
88
  } from '../stores/QueryParametersState.js';
78
- import { QUERY_BUILDER_GROUP_OPERATION } from '../stores/QueryBuilderOperatorsHelper.js';
89
+ import {
90
+ isTypeCompatibleWithConditionValueType,
91
+ QUERY_BUILDER_GROUP_OPERATION,
92
+ } from '../stores/QueryBuilderOperatorsHelper.js';
79
93
  import type { ValueSpecification } from '@finos/legend-graph';
94
+ import {
95
+ type QueryBuilderProjectionColumnDragSource,
96
+ QueryBuilderSimpleProjectionColumnState,
97
+ QUERY_BUILDER_PROJECTION_DND_TYPE,
98
+ } from '../stores/QueryBuilderProjectionState.js';
80
99
 
81
100
  const FilterConditionDragLayer: React.FC = () => {
82
101
  const { itemType, item, isDragging, currentPosition } = useDragLayer(
@@ -170,6 +189,7 @@ const QueryBuilderFilterConditionEditor = observer(
170
189
  const { node, isPropertyDragOver } = props;
171
190
  const graph =
172
191
  node.condition.filterState.queryBuilderState.graphManagerState.graph;
192
+ const applicationStore = useApplicationStore();
173
193
  const changeOperator = (val: QueryBuilderFilterOperator) => (): void =>
174
194
  node.condition.changeOperator(val);
175
195
  const changeProperty = (
@@ -188,9 +208,25 @@ const QueryBuilderFilterConditionEditor = observer(
188
208
  // Drag and Drop on filter condition value
189
209
  const handleDrop = useCallback(
190
210
  (item: QueryBuilderParameterDragSource): void => {
191
- node.condition.setValue(item.variable.parameter);
211
+ const parameterType =
212
+ item.variable.parameter.genericType?.value.rawType;
213
+ const conditionValueType =
214
+ node.condition.propertyExpressionState.propertyExpression.func
215
+ .genericType.value.rawType;
216
+ if (
217
+ isTypeCompatibleWithConditionValueType(
218
+ parameterType,
219
+ conditionValueType,
220
+ )
221
+ ) {
222
+ node.condition.setValue(item.variable.parameter);
223
+ } else {
224
+ applicationStore.notifyWarning(
225
+ `Incompatible parameter type ${parameterType?.name}. ${parameterType?.name} is not compatible with type ${conditionValueType.name}.`,
226
+ );
227
+ }
192
228
  },
193
- [node],
229
+ [applicationStore, node.condition],
194
230
  );
195
231
  const [{ isFilterValueDragOver }, dropConnector] = useDrop(
196
232
  () => ({
@@ -214,6 +250,26 @@ const QueryBuilderFilterConditionEditor = observer(
214
250
  node.condition.operator.getDefaultFilterConditionValue(node.condition),
215
251
  );
216
252
  };
253
+ const debouncedTypeaheadSearch = useMemo(
254
+ () =>
255
+ debounce(
256
+ (inputVal: string) => node.condition.handleTypeaheadSearch(),
257
+ 1000,
258
+ ),
259
+ [node],
260
+ );
261
+ const cleanUpReloadValues = (): void => {
262
+ node.condition.typeaheadSearchState.complete();
263
+ };
264
+ const changeValueSpecification = (val: ValueSpecification): void => {
265
+ node.condition.setValue(val);
266
+ };
267
+ const selectorConfig = {
268
+ values: node.condition.typeaheadSearchResults,
269
+ isLoading: node.condition.typeaheadSearchState.isInProgress,
270
+ reloadValues: debouncedTypeaheadSearch,
271
+ cleanUpReloadValues,
272
+ };
217
273
 
218
274
  return (
219
275
  <div className="query-builder-filter-tree__node__label__content dnd__overlay__container">
@@ -273,9 +329,7 @@ const QueryBuilderFilterConditionEditor = observer(
273
329
  )}
274
330
  <BasicValueSpecificationEditor
275
331
  valueSpecification={node.condition.value}
276
- setValueSpecification={(val: ValueSpecification): void =>
277
- node.condition.setValue(val)
278
- }
332
+ setValueSpecification={changeValueSpecification}
279
333
  graph={graph}
280
334
  typeCheckOption={{
281
335
  expectedType:
@@ -283,6 +337,7 @@ const QueryBuilderFilterConditionEditor = observer(
283
337
  .func.genericType.value.rawType,
284
338
  }}
285
339
  resetValue={resetNode}
340
+ selectorConfig={selectorConfig}
286
341
  />
287
342
  </div>
288
343
  )}
@@ -708,18 +763,37 @@ export const QueryBuilderFilterPanel = observer(
708
763
  };
709
764
  // Drag and Drop
710
765
  const handleDrop = useCallback(
711
- (item: QueryBuilderFilterDropTarget): void => {
766
+ (item: QueryBuilderFilterDropTarget, type: string): void => {
712
767
  let filterConditionState: FilterConditionState;
713
768
  try {
769
+ let propertyExpression;
770
+ if (type === QUERY_BUILDER_PROJECTION_DND_TYPE.PROJECTION_COLUMN) {
771
+ if (
772
+ (item as QueryBuilderProjectionColumnDragSource)
773
+ .columnState instanceof QueryBuilderSimpleProjectionColumnState
774
+ ) {
775
+ propertyExpression = (
776
+ (item as QueryBuilderProjectionColumnDragSource)
777
+ .columnState as QueryBuilderSimpleProjectionColumnState
778
+ ).propertyExpressionState.propertyExpression;
779
+ } else {
780
+ throw new UnsupportedOperationError(
781
+ `Dragging and Dropping derivation projection column is not supported.`,
782
+ );
783
+ }
784
+ } else {
785
+ propertyExpression =
786
+ buildPropertyExpressionFromExplorerTreeNodeData(
787
+ filterState.queryBuilderState.explorerState.nonNullableTreeData,
788
+ (item as QueryBuilderExplorerTreeDragSource).node,
789
+ filterState.queryBuilderState.graphManagerState.graph,
790
+ filterState.queryBuilderState.explorerState
791
+ .propertySearchPanelState.allMappedPropertyNodes,
792
+ );
793
+ }
714
794
  filterConditionState = new FilterConditionState(
715
795
  filterState,
716
- buildPropertyExpressionFromExplorerTreeNodeData(
717
- filterState.queryBuilderState.explorerState.nonNullableTreeData,
718
- (item as QueryBuilderExplorerTreeDragSource).node,
719
- filterState.queryBuilderState.graphManagerState.graph,
720
- filterState.queryBuilderState.explorerState
721
- .propertySearchPanelState.allMappedPropertyNodes,
722
- ),
796
+ propertyExpression,
723
797
  );
724
798
  } catch (error) {
725
799
  assertErrorThrown(error);
@@ -740,16 +814,22 @@ export const QueryBuilderFilterPanel = observer(
740
814
  );
741
815
  const [{ isPropertyDragOver }, dropConnector] = useDrop(
742
816
  () => ({
743
- accept: [
744
- QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
745
- QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
746
- ],
817
+ accept: filterState.allowDnDProjectionToFilter
818
+ ? [
819
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
820
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
821
+ QUERY_BUILDER_PROJECTION_DND_TYPE.PROJECTION_COLUMN,
822
+ ]
823
+ : [
824
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
825
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
826
+ ],
747
827
  drop: (
748
828
  item: QueryBuilderExplorerTreeDragSource,
749
829
  monitor: DropTargetMonitor,
750
830
  ): void => {
751
831
  if (!monitor.didDrop()) {
752
- handleDrop(item);
832
+ handleDrop(item, monitor.getItemType() as string);
753
833
  } // prevent drop event propagation to accomondate for nested DnD
754
834
  },
755
835
  collect: (monitor): { isPropertyDragOver: boolean } => ({
@@ -263,6 +263,7 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
263
263
  ) : (
264
264
  <div />
265
265
  );
266
+
266
267
  const iconPackageColor = isDependencyTreeNode(node)
267
268
  ? 'color--dependency'
268
269
  : '';
@@ -46,7 +46,7 @@ import {
46
46
  variableExpression_setName,
47
47
  LambdaParameterState,
48
48
  LambdaParameterValuesEditor,
49
- getPackageableElementOptionalFormatter,
49
+ getPackageableElementOptionFormatter,
50
50
  } from '@finos/legend-application';
51
51
  import { useDrag, useDragLayer } from 'react-dnd';
52
52
  import { getEmptyImage } from 'react-dnd-html5-backend';
@@ -193,8 +193,9 @@ const VariableExpressionEditor = observer(
193
193
  onChange={changeType}
194
194
  value={selectedType}
195
195
  darkMode={true}
196
- formatOptionLabel={getPackageableElementOptionalFormatter({
196
+ formatOptionLabel={getPackageableElementOptionFormatter({
197
197
  darkMode: true,
198
+ graphManagerState: queryBuilderState.graphManagerState,
198
199
  })}
199
200
  />
200
201
  </div>