@finos/legend-application-query 5.0.1 → 5.0.2

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 (93) 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 +43 -12
  9. package/lib/components/QueryBuilderFilterPanel.js.map +1 -1
  10. package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderPostFilterPanel.js +12 -3
  12. package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -1
  13. package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
  14. package/lib/components/QueryBuilderPropertySearchPanel.js +2 -1
  15. package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -1
  16. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  17. package/lib/components/QueryBuilderResultPanel.js +11 -7
  18. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  19. package/lib/index.css +2 -2
  20. package/lib/index.css.map +1 -1
  21. package/lib/package.json +2 -2
  22. package/lib/stores/QueryBuilderExplorerState.d.ts +1 -1
  23. package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -1
  24. package/lib/stores/QueryBuilderExplorerState.js +13 -3
  25. package/lib/stores/QueryBuilderExplorerState.js.map +1 -1
  26. package/lib/stores/QueryBuilderFilterState.d.ts +7 -1
  27. package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -1
  28. package/lib/stores/QueryBuilderFilterState.js +5 -0
  29. package/lib/stores/QueryBuilderFilterState.js.map +1 -1
  30. package/lib/stores/QueryBuilderOperatorsHelper.d.ts +1 -0
  31. package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +1 -1
  32. package/lib/stores/QueryBuilderOperatorsHelper.js +28 -1
  33. package/lib/stores/QueryBuilderOperatorsHelper.js.map +1 -1
  34. package/lib/stores/QueryBuilderProjectionState.d.ts +1 -0
  35. package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -1
  36. package/lib/stores/QueryBuilderProjectionState.js +11 -0
  37. package/lib/stores/QueryBuilderProjectionState.js.map +1 -1
  38. package/lib/stores/QueryBuilderPropertySearchPanelState.js +1 -1
  39. package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +1 -1
  40. package/lib/stores/QueryBuilderResultState.d.ts +5 -2
  41. package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
  42. package/lib/stores/QueryBuilderResultState.js +19 -7
  43. package/lib/stores/QueryBuilderResultState.js.map +1 -1
  44. package/lib/stores/QueryBuilderState.d.ts +1 -0
  45. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  46. package/lib/stores/QueryBuilderState.js +3 -0
  47. package/lib/stores/QueryBuilderState.js.map +1 -1
  48. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  49. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +5 -31
  50. package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  51. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  52. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +5 -31
  53. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  54. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  55. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +5 -31
  56. package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  57. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  58. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +5 -32
  59. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  60. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  61. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +5 -31
  62. package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  63. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  64. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +3 -29
  65. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  66. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  67. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +4 -30
  68. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  69. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  70. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +4 -30
  71. package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  72. package/package.json +9 -9
  73. package/src/components/QueryBuilderExplorerPanel.tsx +3 -1
  74. package/src/components/QueryBuilderFetchStructurePanel.tsx +44 -7
  75. package/src/components/QueryBuilderFilterPanel.tsx +70 -17
  76. package/src/components/QueryBuilderPostFilterPanel.tsx +22 -3
  77. package/src/components/QueryBuilderPropertySearchPanel.tsx +1 -0
  78. package/src/components/QueryBuilderResultPanel.tsx +70 -47
  79. package/src/stores/QueryBuilderExplorerState.ts +17 -3
  80. package/src/stores/QueryBuilderFilterState.ts +7 -0
  81. package/src/stores/QueryBuilderOperatorsHelper.ts +35 -0
  82. package/src/stores/QueryBuilderProjectionState.ts +15 -0
  83. package/src/stores/QueryBuilderPropertySearchPanelState.ts +1 -1
  84. package/src/stores/QueryBuilderResultState.ts +27 -9
  85. package/src/stores/QueryBuilderState.ts +4 -0
  86. package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +6 -35
  87. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +9 -35
  88. package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +9 -35
  89. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +9 -36
  90. package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +9 -35
  91. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +6 -33
  92. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +11 -36
  93. package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +11 -36
@@ -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.1",
3
+ "version": "5.0.2",
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.2",
50
- "@finos/legend-art": "2.0.11",
51
- "@finos/legend-graph": "13.0.0",
52
- "@finos/legend-server-depot": "3.0.2",
53
- "@finos/legend-shared": "5.0.1",
54
- "@finos/legend-storage": "3.0.1",
49
+ "@finos/legend-application": "7.0.3",
50
+ "@finos/legend-art": "2.0.12",
51
+ "@finos/legend-graph": "13.0.1",
52
+ "@finos/legend-server-depot": "3.0.3",
53
+ "@finos/legend-shared": "5.0.2",
54
+ "@finos/legend-storage": "3.0.2",
55
55
  "@testing-library/react": "13.3.0",
56
56
  "@types/react": "18.0.15",
57
57
  "@types/react-dom": "18.0.6",
@@ -70,10 +70,10 @@
70
70
  "react-router-dom": "5.3.3"
71
71
  },
72
72
  "devDependencies": {
73
- "@finos/legend-dev-utils": "2.0.7",
73
+ "@finos/legend-dev-utils": "2.0.8",
74
74
  "@jest/globals": "28.1.3",
75
75
  "cross-env": "7.0.3",
76
- "eslint": "8.20.0",
76
+ "eslint": "8.21.0",
77
77
  "jest": "28.1.3",
78
78
  "npm-run-all": "4.1.5",
79
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,41 @@ 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(queryBuilderState);
114
+ queryBuilderState.postFilterState =
115
+ new QueryBuilderPostFilterState(
116
+ queryBuilderState,
117
+ queryBuilderState.postFilterOperators,
118
+ );
119
+ queryBuilderState.setShowPostFilterPanel(false);
120
+ }),
121
+ },
122
+ {
123
+ label: 'Cancel',
124
+ type: ActionAlertActionType.PROCEED,
125
+ default: true,
126
+ },
127
+ ],
128
+ });
129
+ } else if (
130
+ fetchMode === FETCH_STRUCTURE_MODE.PROJECTION &&
131
+ queryBuilderState.fetchStructureState.graphFetchTreeState.treeData
132
+ ?.rootIds.length
133
+ ) {
134
+ applicationStore.setActionAlertInfo({
135
+ message:
136
+ 'Current graph fetch nodes will be lost when switching to the projection panel. Do you still want to proceed?',
137
+ type: ActionAlertType.CAUTION,
138
+ actions: [
139
+ {
140
+ label: 'Proceed',
141
+ type: ActionAlertActionType.PROCEED_WITH_CAUTION,
142
+ handler: applicationStore.guardUnhandledError(async () => {
143
+ fetchStructureState.setFetchStructureMode(fetchMode);
144
+ queryBuilderState.changeFetchStructure();
145
+ queryBuilderState.fetchStructureState.graphFetchTreeState =
146
+ new QueryBuilderGraphFetchTreeState(queryBuilderState);
108
147
  queryBuilderState.postFilterState =
109
148
  new QueryBuilderPostFilterState(
110
149
  queryBuilderState,
@@ -127,9 +166,7 @@ export const QueryBuilderFetchStructurePanel = observer(
127
166
  queryBuilderState,
128
167
  queryBuilderState.postFilterOperators,
129
168
  );
130
- if (fetchMode === FETCH_STRUCTURE_MODE.GRAPH_FETCH) {
131
- queryBuilderState.setShowPostFilterPanel(false);
132
- }
169
+ queryBuilderState.setShowPostFilterPanel(false);
133
170
  }
134
171
  }
135
172
  };
@@ -65,7 +65,10 @@ import {
65
65
  } from '../stores/QueryBuilderExplorerState.js';
66
66
  import { QueryBuilderPropertyExpressionBadge } from './QueryBuilderPropertyExpressionEditor.js';
67
67
  import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
68
- import { assertErrorThrown } from '@finos/legend-shared';
68
+ import {
69
+ assertErrorThrown,
70
+ UnsupportedOperationError,
71
+ } from '@finos/legend-shared';
69
72
  import { QUERY_BUILDER_TEST_ID } from './QueryBuilder_TestID.js';
70
73
  import {
71
74
  useApplicationStore,
@@ -75,8 +78,16 @@ import {
75
78
  type QueryBuilderParameterDragSource,
76
79
  QUERY_BUILDER_PARAMETER_TREE_DND_TYPE,
77
80
  } from '../stores/QueryParametersState.js';
78
- import { QUERY_BUILDER_GROUP_OPERATION } from '../stores/QueryBuilderOperatorsHelper.js';
81
+ import {
82
+ isTypeCompatibleWithConditionValueType,
83
+ QUERY_BUILDER_GROUP_OPERATION,
84
+ } from '../stores/QueryBuilderOperatorsHelper.js';
79
85
  import type { ValueSpecification } from '@finos/legend-graph';
86
+ import {
87
+ type QueryBuilderProjectionColumnDragSource,
88
+ QueryBuilderSimpleProjectionColumnState,
89
+ QUERY_BUILDER_PROJECTION_DND_TYPE,
90
+ } from '../stores/QueryBuilderProjectionState.js';
80
91
 
81
92
  const FilterConditionDragLayer: React.FC = () => {
82
93
  const { itemType, item, isDragging, currentPosition } = useDragLayer(
@@ -170,6 +181,7 @@ const QueryBuilderFilterConditionEditor = observer(
170
181
  const { node, isPropertyDragOver } = props;
171
182
  const graph =
172
183
  node.condition.filterState.queryBuilderState.graphManagerState.graph;
184
+ const applicationStore = useApplicationStore();
173
185
  const changeOperator = (val: QueryBuilderFilterOperator) => (): void =>
174
186
  node.condition.changeOperator(val);
175
187
  const changeProperty = (
@@ -188,9 +200,25 @@ const QueryBuilderFilterConditionEditor = observer(
188
200
  // Drag and Drop on filter condition value
189
201
  const handleDrop = useCallback(
190
202
  (item: QueryBuilderParameterDragSource): void => {
191
- node.condition.setValue(item.variable.parameter);
203
+ const parameterType =
204
+ item.variable.parameter.genericType?.value.rawType;
205
+ const conditionValueType =
206
+ node.condition.propertyExpressionState.propertyExpression.func
207
+ .genericType.value.rawType;
208
+ if (
209
+ isTypeCompatibleWithConditionValueType(
210
+ parameterType,
211
+ conditionValueType,
212
+ )
213
+ ) {
214
+ node.condition.setValue(item.variable.parameter);
215
+ } else {
216
+ applicationStore.notifyWarning(
217
+ `Incompatible parameter type ${parameterType?.name}. ${parameterType?.name} is not compatible with type ${conditionValueType.name}.`,
218
+ );
219
+ }
192
220
  },
193
- [node],
221
+ [applicationStore, node.condition],
194
222
  );
195
223
  const [{ isFilterValueDragOver }, dropConnector] = useDrop(
196
224
  () => ({
@@ -708,18 +736,37 @@ export const QueryBuilderFilterPanel = observer(
708
736
  };
709
737
  // Drag and Drop
710
738
  const handleDrop = useCallback(
711
- (item: QueryBuilderFilterDropTarget): void => {
739
+ (item: QueryBuilderFilterDropTarget, type: string): void => {
712
740
  let filterConditionState: FilterConditionState;
713
741
  try {
742
+ let propertyExpression;
743
+ if (type === QUERY_BUILDER_PROJECTION_DND_TYPE.PROJECTION_COLUMN) {
744
+ if (
745
+ (item as QueryBuilderProjectionColumnDragSource)
746
+ .columnState instanceof QueryBuilderSimpleProjectionColumnState
747
+ ) {
748
+ propertyExpression = (
749
+ (item as QueryBuilderProjectionColumnDragSource)
750
+ .columnState as QueryBuilderSimpleProjectionColumnState
751
+ ).propertyExpressionState.propertyExpression;
752
+ } else {
753
+ throw new UnsupportedOperationError(
754
+ `Dragging and Dropping derivation projection column is not supported.`,
755
+ );
756
+ }
757
+ } else {
758
+ propertyExpression =
759
+ buildPropertyExpressionFromExplorerTreeNodeData(
760
+ filterState.queryBuilderState.explorerState.nonNullableTreeData,
761
+ (item as QueryBuilderExplorerTreeDragSource).node,
762
+ filterState.queryBuilderState.graphManagerState.graph,
763
+ filterState.queryBuilderState.explorerState
764
+ .propertySearchPanelState.allMappedPropertyNodes,
765
+ );
766
+ }
714
767
  filterConditionState = new FilterConditionState(
715
768
  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
- ),
769
+ propertyExpression,
723
770
  );
724
771
  } catch (error) {
725
772
  assertErrorThrown(error);
@@ -740,16 +787,22 @@ export const QueryBuilderFilterPanel = observer(
740
787
  );
741
788
  const [{ isPropertyDragOver }, dropConnector] = useDrop(
742
789
  () => ({
743
- accept: [
744
- QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
745
- QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
746
- ],
790
+ accept: filterState.allowDnDProjectionToFilter
791
+ ? [
792
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
793
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
794
+ QUERY_BUILDER_PROJECTION_DND_TYPE.PROJECTION_COLUMN,
795
+ ]
796
+ : [
797
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.ENUM_PROPERTY,
798
+ QUERY_BUILDER_EXPLORER_TREE_DND_TYPE.PRIMITIVE_PROPERTY,
799
+ ],
747
800
  drop: (
748
801
  item: QueryBuilderExplorerTreeDragSource,
749
802
  monitor: DropTargetMonitor,
750
803
  ): void => {
751
804
  if (!monitor.didDrop()) {
752
- handleDrop(item);
805
+ handleDrop(item, monitor.getItemType() as string);
753
806
  } // prevent drop event propagation to accomondate for nested DnD
754
807
  },
755
808
  collect: (monitor): { isPropertyDragOver: boolean } => ({
@@ -74,7 +74,10 @@ import {
74
74
  import { getEmptyImage } from 'react-dnd-html5-backend';
75
75
  import { getColumnMultiplicity } from '../stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js';
76
76
  import { QueryBuilderAggregateColumnState } from '../stores/QueryBuilderAggregationState.js';
77
- import { QUERY_BUILDER_GROUP_OPERATION } from '../stores/QueryBuilderOperatorsHelper.js';
77
+ import {
78
+ isTypeCompatibleWithConditionValueType,
79
+ QUERY_BUILDER_GROUP_OPERATION,
80
+ } from '../stores/QueryBuilderOperatorsHelper.js';
78
81
  import type { QueryBuilderPostFilterOperator } from '../stores/QueryBuilderPostFilterOperator.js';
79
82
  import {
80
83
  type QueryBuilderPostFilterTreeNodeData,
@@ -405,6 +408,7 @@ const QueryBuilderPostFilterConditionEditor = observer(
405
408
  const { node, isPropertyDragOver } = props;
406
409
  const graph =
407
410
  node.condition.postFilterState.queryBuilderState.graphManagerState.graph;
411
+ const applicationStore = useApplicationStore();
408
412
  const changeOperator = (val: QueryBuilderPostFilterOperator) => (): void =>
409
413
  node.condition.changeOperator(val);
410
414
  const changeColumn = async (
@@ -421,9 +425,24 @@ const QueryBuilderPostFilterConditionEditor = observer(
421
425
  // Drag and Drop on filter condition value
422
426
  const handleDrop = useCallback(
423
427
  (item: QueryBuilderParameterDragSource): void => {
424
- node.condition.setValue(item.variable.parameter);
428
+ const parameterType =
429
+ item.variable.parameter.genericType?.value.rawType;
430
+ const conditionValueType = node.condition.columnState.getReturnType();
431
+ if (
432
+ conditionValueType &&
433
+ isTypeCompatibleWithConditionValueType(
434
+ parameterType,
435
+ conditionValueType,
436
+ )
437
+ ) {
438
+ node.condition.setValue(item.variable.parameter);
439
+ } else {
440
+ applicationStore.notifyWarning(
441
+ `Incompatible parameter type ${parameterType?.name}. ${parameterType?.name} is not compatible with type ${conditionValueType?.name}.`,
442
+ );
443
+ }
425
444
  },
426
- [node],
445
+ [applicationStore, node.condition],
427
446
  );
428
447
  const [{ isFilterValueDragOver }, dropConnector] = useDrop(
429
448
  () => ({
@@ -169,6 +169,7 @@ const QueryBuilderTreeNodeViewer = observer(
169
169
  ),
170
170
  );
171
171
  if (
172
+ propertyTreeNodeData &&
172
173
  !(propertyTreeNodeData.type instanceof Class) &&
173
174
  propertyTreeNodeData.mappingData.mapped
174
175
  ) {