@finos/legend-query-builder 1.0.1 → 1.0.3

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 (41) hide show
  1. package/lib/components/QueryBuilderConstantExpressionPanel.js +1 -1
  2. package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
  3. package/lib/components/QueryBuilderResultPanel.js +2 -2
  4. package/lib/components/QueryBuilderResultPanel.js.map +1 -1
  5. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
  6. package/lib/components/shared/BasicValueSpecificationEditor.js +41 -2
  7. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
  8. package/lib/index.css +1 -1
  9. package/lib/package.json +1 -1
  10. package/lib/stores/QueryBuilderState.d.ts +5 -2
  11. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  12. package/lib/stores/QueryBuilderState.js +19 -6
  13. package/lib/stores/QueryBuilderState.js.map +1 -1
  14. package/lib/stores/QueryBuilderStateBuilder.d.ts +2 -2
  15. package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
  16. package/lib/stores/QueryBuilderStateBuilder.js +21 -4
  17. package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
  18. package/lib/stores/QueryBuilderTextEditorState.d.ts.map +1 -1
  19. package/lib/stores/QueryBuilderTextEditorState.js +4 -1
  20. package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
  21. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.d.ts +1 -1
  22. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.d.ts.map +1 -1
  23. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js +14 -1
  24. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
  25. package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -1
  26. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +14 -1
  27. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
  28. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts +1 -0
  29. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts.map +1 -1
  30. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js +21 -17
  31. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -1
  32. package/package.json +7 -7
  33. package/src/components/QueryBuilderConstantExpressionPanel.tsx +1 -1
  34. package/src/components/QueryBuilderResultPanel.tsx +2 -1
  35. package/src/components/shared/BasicValueSpecificationEditor.tsx +72 -2
  36. package/src/stores/QueryBuilderState.ts +29 -5
  37. package/src/stores/QueryBuilderStateBuilder.ts +20 -1
  38. package/src/stores/QueryBuilderTextEditorState.ts +4 -1
  39. package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.ts +20 -1
  40. package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +20 -0
  41. package/src/stores/milestoning/QueryBuilderMilestoningHelper.ts +34 -27
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderTextEditorState.js","sourceRoot":"","sources":["../../src/stores/QueryBuilderTextEditorState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderTextEditorState.js","sourceRoot":"","sources":["../../src/stores/QueryBuilderTextEditorState.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { FunctionExpression, type SimpleFunctionExpression } from '@finos/legend-graph';
16
+ import { FunctionExpression, SimpleFunctionExpression } from '@finos/legend-graph';
17
17
  import type { QueryBuilderPostFilterOperator } from './QueryBuilderPostFilterOperator.js';
18
18
  import { type QueryBuilderPostFilterState, PostFilterConditionState } from './QueryBuilderPostFilterState.js';
19
19
  import type { QueryBuilderState } from '../../../QueryBuilderState.js';
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAOL,kBAAkB,EAClB,KAAK,wBAAwB,EAC9B,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EACL,KAAK,2BAA2B,EAEhC,wBAAwB,EAKzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAuDvE,eAAO,MAAM,6BAA6B,oBACvB,2BAA2B,cAChC,kBAAkB,4BACJ,MAAM,GAAG,SAAS,YAClC,8BAA8B,KACvC,wBAAwB,GAAG,SAiE7B,CAAC;AAyDF,eAAO,MAAM,8BAA8B,eAC7B,wBAAwB,qBACjB,iBAAiB,KACnC,IAqDF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderPostFilterStateBuilder.d.ts","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAOL,kBAAkB,EAClB,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAY7B,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,qCAAqC,CAAC;AAC1F,OAAO,EACL,KAAK,2BAA2B,EAEhC,wBAAwB,EAKzB,MAAM,kCAAkC,CAAC;AAE1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAuDvE,eAAO,MAAM,6BAA6B,oBACvB,2BAA2B,cAChC,kBAAkB,4BACJ,MAAM,GAAG,SAAS,YAClC,8BAA8B,KACvC,wBAAwB,GAAG,SAiE7B,CAAC;AA2EF,eAAO,MAAM,8BAA8B,eAC7B,wBAAwB,qBACjB,iBAAiB,KACnC,IAqDF,CAAC"}
@@ -13,7 +13,7 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { LambdaFunctionInstanceValue, AbstractPropertyExpression, extractElementNameFromPath, PrimitiveInstanceValue, matchFunctionName, VariableExpression, FunctionExpression, } from '@finos/legend-graph';
16
+ import { LambdaFunctionInstanceValue, AbstractPropertyExpression, extractElementNameFromPath, PrimitiveInstanceValue, matchFunctionName, VariableExpression, FunctionExpression, SimpleFunctionExpression, MINUS_STRING, } from '@finos/legend-graph';
17
17
  import { assertTrue, assertType, guaranteeIsString, guaranteeNonNullable, guaranteeType, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QueryBuilderDerivationProjectionColumnState } from '../projection/QueryBuilderProjectionColumnState.js';
19
19
  import { getTDSColumnState } from '../QueryBuilderTDSHelper.js';
@@ -71,6 +71,19 @@ export const buildPostFilterConditionState = (postFilterState, expression, opera
71
71
  return postConditionState;
72
72
  };
73
73
  const processPostFilterTree = (expression, postFilterState, parentPostFilterNodeId) => {
74
+ // NOTE: This checks if the expression is a simple function expression of Minus
75
+ // since negative numbers are returned as a SimpleFunctionExpression of minus(number)
76
+ // rather than a PrimitiveInstanceValue of -number, so here
77
+ // we replace the parameter value of the expression directly with a PrimitiveInstanceValue
78
+ if (expression.parametersValues[1] instanceof SimpleFunctionExpression &&
79
+ expression.parametersValues[1].functionName === MINUS_STRING &&
80
+ expression.parametersValues[1].parametersValues[0] instanceof
81
+ PrimitiveInstanceValue) {
82
+ expression.parametersValues[1].parametersValues[0].values[0] =
83
+ parseFloat(expression.parametersValues[1].parametersValues[0].values[0]) * -1;
84
+ expression.parametersValues[1] =
85
+ expression.parametersValues[1].parametersValues[0];
86
+ }
74
87
  const parentNode = parentPostFilterNodeId
75
88
  ? postFilterState.getNode(parentPostFilterNodeId)
76
89
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderPostFilterStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderPostFilterStateBuilder.js","sourceRoot":"","sources":["../../../../../src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterStateBuilder.d.ts","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAIL,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA0EjE,eAAO,MAAM,uBAAuB,eACtB,wBAAwB,qBACjB,iBAAiB,KACnC,IA4CF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderFilterStateBuilder.d.ts","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterStateBuilder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAML,wBAAwB,EAEzB,MAAM,qBAAqB,CAAC;AAW7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AA4FjE,eAAO,MAAM,uBAAuB,eACtB,wBAAwB,qBACjB,iBAAiB,KACnC,IA4CF,CAAC"}
@@ -13,13 +13,26 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { AbstractPropertyExpression, LambdaFunctionInstanceValue, matchFunctionName, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
16
+ import { AbstractPropertyExpression, LambdaFunctionInstanceValue, matchFunctionName, MINUS_STRING, PrimitiveInstanceValue, SimpleFunctionExpression, VariableExpression, } from '@finos/legend-graph';
17
17
  import { assertTrue, assertType, guaranteeNonNullable, guaranteeType, returnUndefOnError, UnsupportedOperationError, } from '@finos/legend-shared';
18
18
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../graphManager/QueryBuilderSupportedFunctions.js';
19
19
  import { toGroupOperation } from '../QueryBuilderGroupOperationHelper.js';
20
20
  import { validatePropertyExpressionChain } from '../QueryBuilderValueSpecificationHelper.js';
21
21
  import { QueryBuilderFilterTreeConditionNodeData, QueryBuilderFilterTreeGroupNodeData, } from './QueryBuilderFilterState.js';
22
22
  const processFilterTree = (expression, filterState, parentFilterNodeId) => {
23
+ // NOTE: This checks if the expression is a simple function expression of Minus
24
+ // since negative numbers are returned as a SimpleFunctionExpression of minus(number)
25
+ // rather than a PrimitiveInstanceValue of -number, so here
26
+ // we replace the parameter value of the expression directly with a PrimitiveInstanceValue
27
+ if (expression.parametersValues[1] instanceof SimpleFunctionExpression &&
28
+ expression.parametersValues[1].functionName === MINUS_STRING &&
29
+ expression.parametersValues[1].parametersValues[0] instanceof
30
+ PrimitiveInstanceValue) {
31
+ expression.parametersValues[1].parametersValues[0].values[0] =
32
+ parseFloat(expression.parametersValues[1].parametersValues[0].values[0]) * -1;
33
+ expression.parametersValues[1] =
34
+ expression.parametersValues[1].parametersValues[0];
35
+ }
23
36
  const parentNode = parentFilterNodeId
24
37
  ? filterState.getNode(parentFilterNodeId)
25
38
  : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderFilterStateBuilder.js","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterStateBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QueryBuilderFilterStateBuilder.js","sourceRoot":"","sources":["../../../src/stores/filter/QueryBuilderFilterStateBuilder.ts"],"names":[],"mappings":"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"}
@@ -53,6 +53,7 @@ export declare const getDerivedPropertyMilestoningSteoreotype: (property: Derive
53
53
  * BUD : default business date is propgated
54
54
  */
55
55
  export declare const isDefaultDatePropagationSupported: (currentPropertyExpression: AbstractPropertyExpression, queryBuilderState: QueryBuilderState, prevPropertyExpression?: AbstractPropertyExpression | undefined) => boolean;
56
+ export declare const checkIfEquivalent: (param1: ValueSpecification | undefined, param2: ValueSpecification | undefined) => boolean;
56
57
  /**
57
58
  * Check if the parameter value of the milestoned property is
58
59
  * the same as those specified in global scope, so that we can
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderMilestoningHelper.d.ts","sourceRoot":"","sources":["../../../src/stores/milestoning/QueryBuilderMilestoningHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,0BAA0B,EAC1B,eAAe,EAEf,sBAAsB,EAEtB,KAAK,kBAAkB,EAKvB,KAAK,SAAS,EAEf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACxG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,eAAO,MAAM,wCAAwC,aACzC,eAAe,SAClB,SAAS,KACf,sBAAsB,GAAG,SAiB3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,iCAAiC,8BACjB,0BAA0B,qBAClC,iBAAiB,2BACX,0BAA0B,GAAG,SAAS,KAC9D,OAkCF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,eAC7B,sBAAsB,OAC7B,MAAM,kBACK,kBAAkB,mBACjB,4BAA4B,KAC5C,OA2CF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wCAAwC,mCACnB,0CAA0C,OACrE,MAAM,KACV,kBAAkB,GAAG,SA6EvB,CAAC;AAEF,eAAO,MAAM,0CAA0C,qBACnC,sBAAsB,GAAG,SAAS,oBAClC,sBAAsB,sBACpB,0BAA0B,KAC7C,IA4BF,CAAC"}
1
+ {"version":3,"file":"QueryBuilderMilestoningHelper.d.ts","sourceRoot":"","sources":["../../../src/stores/milestoning/QueryBuilderMilestoningHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,0BAA0B,EAC1B,eAAe,EAEf,sBAAsB,EAEtB,KAAK,kBAAkB,EAKvB,KAAK,SAAS,EAEf,MAAM,qBAAqB,CAAC;AAM7B,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,KAAK,EAAE,0CAA0C,EAAE,MAAM,uCAAuC,CAAC;AACxG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,eAAO,MAAM,wCAAwC,aACzC,eAAe,SAClB,SAAS,KACf,sBAAsB,GAAG,SAiB3B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,eAAO,MAAM,iCAAiC,8BACjB,0BAA0B,qBAClC,iBAAiB,2BACX,0BAA0B,GAAG,SAAS,KAC9D,OAkCF,CAAC;AAEF,eAAO,MAAM,iBAAiB,WACpB,kBAAkB,GAAG,SAAS,UAC9B,kBAAkB,GAAG,SAAS,KACrC,OA6BF,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,8BAA8B,eAC7B,sBAAsB,OAC7B,MAAM,kBACK,kBAAkB,mBACjB,4BAA4B,KAC5C,OAgBF,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,wCAAwC,mCACnB,0CAA0C,OACrE,MAAM,KACV,kBAAkB,GAAG,SA6EvB,CAAC;AAEF,eAAO,MAAM,0CAA0C,qBACnC,sBAAsB,GAAG,SAAS,oBAClC,sBAAsB,sBACpB,0BAA0B,KAC7C,IA4BF,CAAC"}
@@ -90,29 +90,33 @@ export const isDefaultDatePropagationSupported = (currentPropertyExpression, que
90
90
  }
91
91
  return false;
92
92
  };
93
+ export const checkIfEquivalent = (param1, param2) => {
94
+ if (param1?.multiplicity.lowerBound !== param2?.multiplicity.lowerBound ||
95
+ param1?.multiplicity.upperBound !== param2?.multiplicity.upperBound) {
96
+ return false;
97
+ }
98
+ if (param1 instanceof VariableExpression &&
99
+ param2 instanceof VariableExpression) {
100
+ return param1.name === param2.name;
101
+ }
102
+ else if (param1 instanceof PrimitiveInstanceValue &&
103
+ param2 instanceof PrimitiveInstanceValue) {
104
+ if (param1.genericType.value.rawType.name === PRIMITIVE_TYPE.LATESTDATE &&
105
+ param2.genericType.value.rawType.name === PRIMITIVE_TYPE.LATESTDATE) {
106
+ return true;
107
+ }
108
+ return (param1.genericType.value.rawType.name ===
109
+ param2.genericType.value.rawType.name &&
110
+ param1.values[0] === param2.values[0]);
111
+ }
112
+ return false;
113
+ };
93
114
  /**
94
115
  * Check if the parameter value of the milestoned property is
95
116
  * the same as those specified in global scope, so that we can
96
117
  * potentially replace them with propgated value.
97
118
  */
98
119
  export const matchMilestoningParameterValue = (stereotype, idx, parameterValue, milestoningDate) => {
99
- const checkIfEquivalent = (param1, param2) => {
100
- if (param1 instanceof VariableExpression &&
101
- param2 instanceof VariableExpression) {
102
- return param1.name === param2.name;
103
- }
104
- else if (param1 instanceof PrimitiveInstanceValue &&
105
- param2 instanceof PrimitiveInstanceValue) {
106
- if (param1.genericType.value.rawType.name === PRIMITIVE_TYPE.LATESTDATE &&
107
- param2.genericType.value.rawType.name === PRIMITIVE_TYPE.LATESTDATE) {
108
- return true;
109
- }
110
- return (param1.genericType.value.rawType.name ===
111
- param2.genericType.value.rawType.name &&
112
- param1.values[0] === param2.values[0]);
113
- }
114
- return false;
115
- };
116
120
  switch (stereotype) {
117
121
  case MILESTONING_STEREOTYPE.BITEMPORAL:
118
122
  return ((idx === 0 &&
@@ -1 +1 @@
1
- {"version":3,"file":"QueryBuilderMilestoningHelper.js","sourceRoot":"","sources":["../../../src/stores/milestoning/QueryBuilderMilestoningHelper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EACL,0BAA0B,EAC1B,eAAe,EACf,KAAK,EACL,sBAAsB,EACtB,8BAA8B,EAE9B,WAAW,EACX,8CAA8C,EAC9C,sBAAsB,EACtB,cAAc,EAEd,kBAAkB,GACnB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,yBAAyB,GAC1B,MAAM,sBAAsB,CAAC;AAK9B,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,QAAyB,EACzB,KAAgB,EACoB,EAAE;IACtC,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC9B,IAAI,KAAK,YAAY,KAAK,EAAE;QAC1B,OAAO,8BAA8B,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;KACrD;SAAM,IAAI,KAAK,YAAY,WAAW,EAAE;QACvC,MAAM,6BAA6B,GACjC,8CAA8C,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QAClE,IAAI,6BAA6B,CAAC,MAAM,EAAE;YACxC,MAAM,UAAU,GACd,6BAA6B,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC;YAC9D,OAAO,8BAA8B,CACnC,aAAa,CAAC,UAAU,EAAE,KAAK,CAAC,EAChC,KAAK,CACN,CAAC;SACH;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAC/C,yBAAqD,EACrD,iBAAoC,EACpC,sBAA+D,EACtD,EAAE;IACX,MAAM,QAAQ,GAAG,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC;IACtD,MAAM,KAAK,GAAG,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CAAC;IACxD,gIAAgI;IAChI,IACE,sBAAsB;QACtB,sBAAsB,CAAC,IAAI,CAAC,KAAK,YAAY,eAAe;QAC5D,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CACjE,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAClC,EACD;QACA,OAAO,KAAK,CAAC;KACd;IACD,IAAI,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,YAAY,KAAK,EAAE;QACvD,iEAAiE;QACjE,MAAM,gBAAgB,GACpB,QAAQ,YAAY,eAAe;YACjC,CAAC,CAAC,wCAAwC,CAAC,QAAQ,EAAE,KAAK,CAAC;YAC3D,CAAC,CAAC,SAAS,CAAC;QAChB,6EAA6E;QAC7E,IAAI,gBAAgB,KAAK,sBAAsB,CAAC,UAAU,EAAE;YAC1D,OAAO,IAAI,CAAC;SACb;QACD,iFAAiF;QACjF,MAAM,gBAAgB,GAAG,8BAA8B,CACrD,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,EAClC,KAAK,CACN,CAAC;QACF,0FAA0F;QAC1F,IAAI,gBAAgB,IAAI,gBAAgB,EAAE;YACxC,OAAO,gBAAgB,KAAK,gBAAgB,CAAC;SAC9C;KACF;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAC5C,UAAkC,EAClC,GAAW,EACX,cAAkC,EAClC,eAA6C,EACpC,EAAE;IACX,MAAM,iBAAiB,GAAG,CACxB,MAAsC,EACtC,MAAsC,EAC7B,EAAE;QACX,IACE,MAAM,YAAY,kBAAkB;YACpC,MAAM,YAAY,kBAAkB,EACpC;YACA,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC;SACpC;aAAM,IACL,MAAM,YAAY,sBAAsB;YACxC,MAAM,YAAY,sBAAsB,EACxC;YACA,IACE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU;gBACnE,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EACnE;gBACA,OAAO,IAAI,CAAC;aACb;YACD,OAAO,CACL,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;gBACnC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI;gBACvC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CACtC,CAAC;SACH;QACD,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IACF,QAAQ,UAAU,EAAE;QAClB,KAAK,sBAAsB,CAAC,UAAU;YACpC,OAAO,CACL,CAAC,GAAG,KAAK,CAAC;gBACR,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;gBACpE,CAAC,GAAG,KAAK,CAAC;oBACR,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC,CACnE,CAAC;QACJ,KAAK,sBAAsB,CAAC,mBAAmB;YAC7C,OAAO,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,cAAc,CAAC,CAAC;QAC3E,KAAK,sBAAsB,CAAC,iBAAiB;YAC3C,OAAO,iBAAiB,CAAC,cAAc,EAAE,eAAe,CAAC,YAAY,CAAC,CAAC;QACzE,QAAQ;KACT;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wCAAwC,GAAG,CACtD,8BAA0E,EAC1E,GAAW,EACqB,EAAE;IAClC,+EAA+E;IAC/E,IACE,8BAA8B,CAAC,eAAe,CAAC,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAC9E,8BAA8B,CAAC,eAAe,CAC/C,EACD;QACA,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,sBAAsB,GAC1B,8BAA8B,CAAC,kBAAkB;SAC9C,gBAAgB,CAAC,CAAC,CAAC,YAAY,0BAA0B;QAC1D,CAAC,CAAC,8BAA8B,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACvE,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,gBAAgB,GACpB,8BAA8B,CAAC,iBAAiB,CAAC,gBAAgB,CAAC;IACpE,MAAM,cAAc,GAAG,wCAAwC,CAC7D,8BAA8B,CAAC,eAAe,EAC9C,8BAA8B,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,KAAK,CACzE,CAAC;IACF,MAAM,cAAc,GAClB,8BAA8B,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW;SACrE,KAAK,CAAC,OAAO,YAAY,KAAK;QACjC,8BAA8B,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;aAChE,8BAA8B,CAAC,MAAM,KAAK,CAAC;QAC5C,CAAC,CAAC,8BAA8B,CAC5B,8BAA8B,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK;aACzD,WAAW,CAAC,KAAK,CAAC,OAAO,EAC5B,8BAA8B,CAAC,iBAAiB,CAAC,iBAAiB;aAC/D,KAAK,CACT;QACH,CAAC,CAAC,SAAS,CAAC;IAChB,MAAM,yBAAyB,GAC7B,cAAc;QACd,GAAG,GAAG,8BAA8B,CAAC,eAAe,CAAC,MAAM;QAC3D,8BAA8B,CAC5B,cAAc,EACd,GAAG,EACH,oBAAoB,CAAC,8BAA8B,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EACzE,gBAAgB,CACjB,CAAC;IACJ,MAAM,gCAAgC,GACpC,cAAc;QACd,CAAC,CAAC,GAAG,GAAG,8BAA8B,CAAC,eAAe,CAAC,MAAM;YAC3D,CAAC,yBAAyB;gBACxB;;;;mBAIG;gBACH,CAAC,wCAAwC,CACvC,8BAA8B,CAAC,eAAe,EAC9C,8BAA8B,CAAC,iBAAiB,CAAC,iBAAiB;qBAC/D,KAAK,CACT,KAAK,sBAAsB,CAAC,mBAAmB;oBAC9C,cAAc,KAAK,sBAAsB,CAAC,UAAU;oBACpD,8BAA8B,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC;YAClE,GAAG,IAAI,8BAA8B,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAElE,IAAI,CAAC,gCAAgC,EAAE;QACrC,OAAO,SAAS,CAAC;KAClB;IACD,MAAM,0BAA0B,GAAG,iCAAiC,CAClE,8BAA8B,CAAC,kBAAkB,EACjD,8BAA8B,CAAC,iBAAiB,EAChD,sBAAsB,CACvB,CAAC;IACF,OAAO,gBAAgB;SACpB,4BAA4B,CAAC,cAAc,CAAC;SAC5C,uBAAuB,CACtB,0BAA0B,EAC1B,yBAAyB,IAAI,KAAK,EAClC,sBAAsB,EACtB,cAAc,EACd,GAAG,EACH,8BAA8B,CAC/B,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0CAA0C,GAAG,CACxD,gBAAoD,EACpD,gBAAwC,EACxC,kBAA8C,EACxC,EAAE;IACR,IACE,gBAAgB,KAAK,sBAAsB,CAAC,UAAU;QACtD,gBAAgB,KAAK,gBAAgB,EACrC;QACA,IAAI,gBAAgB,KAAK,sBAAsB,CAAC,UAAU,EAAE;YAC1D,IACE,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC;gBAChD,CAAC,gBAAgB,EACjB;gBACA,MAAM,IAAI,yBAAyB,CACjC,sCAAsC,sBAAsB,CAAC,UAAU,sCAAsC,CAC9G,CAAC;aACH;iBAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzD,MAAM,IAAI,yBAAyB,CACjC,sCAAsC,sBAAsB,CAAC,UAAU,sCAAsC,CAC9G,CAAC;aACH;iBAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;gBACzD,MAAM,IAAI,yBAAyB,CACjC,sCAAsC,sBAAsB,CAAC,UAAU,4CAA4C,CACpH,CAAC;aACH;SACF;aAAM,IAAI,kBAAkB,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YAC3D,MAAM,IAAI,yBAAyB,CACjC,sCAAsC,gBAAgB,qCAAqC,CAC5F,CAAC;SACH;KACF;AACH,CAAC,CAAC"}
1
+ {"version":3,"file":"QueryBuilderMilestoningHelper.js","sourceRoot":"","sources":["../../../src/stores/milestoning/QueryBuilderMilestoningHelper.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": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Legend query builder core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,12 +45,12 @@
45
45
  "@ag-grid-community/core": "29.1.0",
46
46
  "@ag-grid-community/react": "29.1.0",
47
47
  "@ag-grid-community/styles": "29.1.0",
48
- "@finos/legend-application": "13.0.1",
49
- "@finos/legend-art": "5.0.35",
50
- "@finos/legend-graph": "24.0.0",
51
- "@finos/legend-server-depot": "4.4.6",
52
- "@finos/legend-shared": "8.0.1",
53
- "@finos/legend-storage": "3.0.41",
48
+ "@finos/legend-application": "13.0.3",
49
+ "@finos/legend-art": "5.0.37",
50
+ "@finos/legend-graph": "24.1.0",
51
+ "@finos/legend-server-depot": "4.4.7",
52
+ "@finos/legend-shared": "8.0.2",
53
+ "@finos/legend-storage": "3.0.42",
54
54
  "@testing-library/react": "14.0.0",
55
55
  "@types/papaparse": "5.3.7",
56
56
  "@types/react": "18.0.28",
@@ -52,7 +52,7 @@ import { BasicValueSpecificationEditor } from './shared/BasicValueSpecificationE
52
52
  import { VariableViewer } from './shared/QueryBuilderVariableSelector.js';
53
53
  import { QUERY_BUILDER_TEST_ID } from '../application/QueryBuilderTesting.js';
54
54
 
55
- // Note: We currently only allow constant variables for primitive types of multiplicity ONE.
55
+ // NOTE: We currently only allow constant variables for primitive types of multiplicity ONE.
56
56
  // This is why we don't show multiplicity in the editor.
57
57
  const QueryBuilderConstantExpressionEditor = observer(
58
58
  (props: { constantState: QueryBuilderConstantExpressionState }) => {
@@ -370,7 +370,7 @@ const QueryBuilderGridResult = observer(
370
370
  },
371
371
  }}
372
372
  modules={[ClientSideRowModelModule]}
373
- // Note: we use onCellMouseOver as a bit of a workaround
373
+ // NOTE: we use onCellMouseOver as a bit of a workaround
374
374
  // since we use the context menu so we want the user to be
375
375
  // able to right click any cell and have the context menu
376
376
  // options use the data belonging to the row that they are
@@ -379,6 +379,7 @@ const QueryBuilderGridResult = observer(
379
379
  onCellMouseOver={(event): void => {
380
380
  setCellDoubleClickedEvent(event);
381
381
  }}
382
+ suppressFieldDotNotation={true}
382
383
  columnDefs={columns.map((colName) => ({
383
384
  minWidth: 50,
384
385
  sortable: true,
@@ -362,13 +362,82 @@ const NumberPrimitiveInstanceValueEditor = observer(
362
362
  resetValue,
363
363
  setValueSpecification,
364
364
  } = props;
365
+
366
+ const DECIMAL_POINT = '.';
367
+ const NEGATIVE_SIGN = '-';
368
+
369
+ // NOTE: Although we want to allow the user to type
370
+ // '-' and '.' for negative and decimal numbers respectively,
371
+ // we want to check for when user leaves the input to not
372
+ // leave the number value at an invalid state (i.e. if
373
+ // user just left '-' without an actual number)
374
+ const onBlur = (): void => {
375
+ if (valueSpecification.values[0] === NEGATIVE_SIGN) {
376
+ instanceValue_setValue(valueSpecification, 0, 0);
377
+ }
378
+ const numberInputValue = valueSpecification.values[0] as string;
379
+ if (
380
+ numberInputValue.length > 0 &&
381
+ numberInputValue.at(-1) === DECIMAL_POINT
382
+ ) {
383
+ instanceValue_setValue(
384
+ valueSpecification,
385
+ parseInt(
386
+ numberInputValue.substring(0, numberInputValue.length - 1),
387
+ 10,
388
+ ),
389
+ 0,
390
+ );
391
+ }
392
+ const val = isInteger
393
+ ? parseInt(numberInputValue, 10)
394
+ : parseFloat(numberInputValue);
395
+ instanceValue_setValue(valueSpecification, val, 0);
396
+ setValueSpecification(valueSpecification);
397
+ };
398
+
365
399
  const value = valueSpecification.values[0] as number;
366
400
  const changeValue: React.ChangeEventHandler<HTMLInputElement> = (event) => {
401
+ const valueIsDecimalPoint =
402
+ (event.nativeEvent as InputEvent).data === DECIMAL_POINT;
403
+
404
+ const valueIsNegativeSymbol =
405
+ (event.nativeEvent as InputEvent).data === NEGATIVE_SIGN;
406
+
407
+ if (
408
+ !isInteger &&
409
+ valueIsDecimalPoint &&
410
+ value.toString().length > 0 &&
411
+ !value.toString().includes(DECIMAL_POINT)
412
+ ) {
413
+ instanceValue_setValue(
414
+ valueSpecification,
415
+ valueSpecification.values[0] + DECIMAL_POINT,
416
+ 0,
417
+ );
418
+ return;
419
+ }
420
+ if (
421
+ value.toString().includes(DECIMAL_POINT) &&
422
+ (event.nativeEvent as InputEvent).data === '0'
423
+ ) {
424
+ instanceValue_setValue(
425
+ valueSpecification,
426
+ `${valueSpecification.values[0]}0`,
427
+ 0,
428
+ );
429
+ setValueSpecification(valueSpecification);
430
+ return;
431
+ }
432
+
367
433
  let inputVal = isInteger
368
434
  ? parseInt(event.target.value, 10)
369
435
  : parseFloat(event.target.value);
370
436
  inputVal = isNaN(inputVal) ? 0 : inputVal;
371
- instanceValue_setValue(valueSpecification, inputVal, 0);
437
+
438
+ valueIsNegativeSymbol
439
+ ? instanceValue_setValue(valueSpecification, NEGATIVE_SIGN, 0)
440
+ : instanceValue_setValue(valueSpecification, inputVal, 0);
372
441
  setValueSpecification(valueSpecification);
373
442
  };
374
443
 
@@ -377,8 +446,9 @@ const NumberPrimitiveInstanceValueEditor = observer(
377
446
  <input
378
447
  className="panel__content__form__section__input value-spec-editor__input"
379
448
  spellCheck={false}
380
- type="number"
449
+ type="text"
381
450
  value={value}
451
+ onBlur={onBlur}
382
452
  onChange={changeValue}
383
453
  />
384
454
  <button
@@ -61,6 +61,7 @@ import {
61
61
  isStubbed_RawLambda,
62
62
  buildLambdaVariableExpressions,
63
63
  buildRawLambdaFromLambdaFunction,
64
+ type ValueSpecification,
64
65
  } from '@finos/legend-graph';
65
66
  import { buildLambdaFunction } from './QueryBuilderValueSpecificationBuilder.js';
66
67
  import type {
@@ -294,9 +295,14 @@ export abstract class QueryBuilderState implements CommandRegistrar {
294
295
  );
295
296
  }
296
297
 
297
- resetQueryResult(): void {
298
+ resetQueryResult(preserveResult?: boolean): void {
298
299
  const resultState = new QueryBuilderResultState(this);
299
300
  resultState.setPreviewLimit(this.resultState.previewLimit);
301
+ if (preserveResult) {
302
+ resultState.setExecutionResult(this.resultState.executionResult);
303
+ resultState.setExecutionDuration(this.resultState.executionDuration);
304
+ resultState.latestRunHashCode = this.resultState.latestRunHashCode;
305
+ }
300
306
  this.resultState = resultState;
301
307
  }
302
308
 
@@ -312,9 +318,9 @@ export abstract class QueryBuilderState implements CommandRegistrar {
312
318
  mappingModelCoverageAnalysisResult;
313
319
  }
314
320
  this.explorerState.refreshTreeData();
315
- this.parametersState = new QueryBuilderParametersState(this);
316
321
  this.constantState = new QueryBuilderConstantsState(this);
317
322
  this.functionsExplorerState = new QueryFunctionsExplorerState(this);
323
+ this.parametersState = new QueryBuilderParametersState(this);
318
324
  this.filterState = new QueryBuilderFilterState(this, this.filterOperators);
319
325
  this.watermarkState = new QueryBuilderWatermarkState(this);
320
326
  this.checkEntitlementsState = new QueryBuilderCheckEntitlementsState(this);
@@ -377,15 +383,32 @@ export abstract class QueryBuilderState implements CommandRegistrar {
377
383
 
378
384
  initializeWithQuery(query: RawLambda): void {
379
385
  this.rebuildWithQuery(query);
386
+ this.resetQueryResult();
380
387
  this.changeDetectionState.initialize(query);
381
388
  }
382
389
 
383
390
  /**
384
391
  * Process the provided query, and rebuild the query builder state.
385
392
  */
386
- rebuildWithQuery(query: RawLambda): void {
393
+ rebuildWithQuery(
394
+ query: RawLambda,
395
+ options?: {
396
+ preserveParameterValues?: boolean | undefined;
397
+ preserveResult?: boolean | undefined;
398
+ },
399
+ ): void {
400
+ const previousStateParameterValues = new Map<
401
+ VariableExpression,
402
+ ValueSpecification | undefined
403
+ >();
387
404
  try {
388
- this.resetQueryResult();
405
+ if (options?.preserveParameterValues) {
406
+ // Preserving parameter values
407
+ this.parametersState.parameterStates.forEach((ps) => {
408
+ previousStateParameterValues.set(ps.parameter, ps.value);
409
+ });
410
+ }
411
+ this.resetQueryResult(options?.preserveResult);
389
412
  this.resetQueryContent();
390
413
 
391
414
  if (!isStubbed_RawLambda(query)) {
@@ -406,6 +429,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
406
429
  processQueryLambdaFunction(
407
430
  guaranteeNonNullable(compiledValueSpecification.values[0]),
408
431
  this,
432
+ previousStateParameterValues,
409
433
  );
410
434
  }
411
435
  if (this.parametersState.parameterStates.length > 0) {
@@ -413,8 +437,8 @@ export abstract class QueryBuilderState implements CommandRegistrar {
413
437
  }
414
438
  } catch (error) {
415
439
  assertErrorThrown(error);
416
- this.resetQueryContent();
417
440
  this.resetQueryResult();
441
+ this.resetQueryContent();
418
442
  this.unsupportedQueryState.setLambdaError(error);
419
443
  this.unsupportedQueryState.setRawLambda(query);
420
444
  this.setClass(undefined);
@@ -69,6 +69,7 @@ import { LambdaParameterState } from './shared/LambdaParameterState.js';
69
69
  import { processTDS_OLAPGroupByExpression } from './fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js';
70
70
  import { processWatermarkExpression } from './watermark/QueryBuilderWatermarkStateBuilder.js';
71
71
  import { QueryBuilderConstantExpressionState } from './QueryBuilderConstantsState.js';
72
+ import { checkIfEquivalent } from './milestoning/QueryBuilderMilestoningHelper.js';
72
73
 
73
74
  const processGetAllExpression = (
74
75
  expression: SimpleFunctionExpression,
@@ -606,27 +607,45 @@ export class QueryBuilderValueSpecificationProcessor
606
607
  export const processParameters = (
607
608
  parameters: VariableExpression[],
608
609
  queryBuilderState: QueryBuilderState,
610
+ preservedParameters?: Map<VariableExpression, ValueSpecification | undefined>,
609
611
  ): void => {
610
612
  const queryParameterState = queryBuilderState.parametersState;
613
+ // Here we won't mock the values for parameters which are present in the previous state
614
+ // because we don't want to lose the parameter value
611
615
  parameters.forEach((parameter) => {
616
+ let oldParamterValue: ValueSpecification | undefined;
617
+ if (preservedParameters) {
618
+ Array.from(preservedParameters.entries()).forEach(([key, value]) => {
619
+ if (checkIfEquivalent(key, parameter)) {
620
+ oldParamterValue = value;
621
+ }
622
+ });
623
+ }
612
624
  const parameterState = new LambdaParameterState(
613
625
  parameter,
614
626
  queryBuilderState.observableContext,
615
627
  queryBuilderState.graphManagerState.graph,
616
628
  );
617
- parameterState.mockParameterValue();
629
+ if (oldParamterValue) {
630
+ parameterState.setValue(oldParamterValue);
631
+ } else {
632
+ parameterState.mockParameterValue();
633
+ }
618
634
  queryParameterState.addParameter(parameterState);
619
635
  });
636
+ queryBuilderState.parametersState = queryParameterState;
620
637
  };
621
638
 
622
639
  export const processQueryLambdaFunction = (
623
640
  lambdaFunction: LambdaFunction,
624
641
  queryBuilderState: QueryBuilderState,
642
+ preservedParameters?: Map<VariableExpression, ValueSpecification | undefined>,
625
643
  ): void => {
626
644
  if (lambdaFunction.functionType.parameters.length) {
627
645
  processParameters(
628
646
  lambdaFunction.functionType.parameters,
629
647
  queryBuilderState,
648
+ preservedParameters,
630
649
  );
631
650
  }
632
651
  lambdaFunction.expressionSequence.map((expression) =>
@@ -198,7 +198,10 @@ export class QueryBuilderTextEditorState extends LambdaEditorState {
198
198
  `Can't parse query. Please fix error before closing: ${this.parserError.message}`,
199
199
  );
200
200
  } else {
201
- this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda);
201
+ this.queryBuilderState.rebuildWithQuery(this.rawLambdaState.lambda, {
202
+ preserveParameterValues: true,
203
+ preserveResult: true,
204
+ });
202
205
  this.setMode(undefined);
203
206
  }
204
207
  return;
@@ -22,7 +22,8 @@ import {
22
22
  matchFunctionName,
23
23
  VariableExpression,
24
24
  FunctionExpression,
25
- type SimpleFunctionExpression,
25
+ SimpleFunctionExpression,
26
+ MINUS_STRING,
26
27
  } from '@finos/legend-graph';
27
28
  import {
28
29
  assertTrue,
@@ -178,6 +179,24 @@ const processPostFilterTree = (
178
179
  postFilterState: QueryBuilderPostFilterState,
179
180
  parentPostFilterNodeId: string | undefined,
180
181
  ): void => {
182
+ // NOTE: This checks if the expression is a simple function expression of Minus
183
+ // since negative numbers are returned as a SimpleFunctionExpression of minus(number)
184
+ // rather than a PrimitiveInstanceValue of -number, so here
185
+ // we replace the parameter value of the expression directly with a PrimitiveInstanceValue
186
+ if (
187
+ expression.parametersValues[1] instanceof SimpleFunctionExpression &&
188
+ expression.parametersValues[1].functionName === MINUS_STRING &&
189
+ expression.parametersValues[1].parametersValues[0] instanceof
190
+ PrimitiveInstanceValue
191
+ ) {
192
+ expression.parametersValues[1].parametersValues[0].values[0] =
193
+ parseFloat(
194
+ expression.parametersValues[1].parametersValues[0].values[0] as string,
195
+ ) * -1;
196
+ expression.parametersValues[1] =
197
+ expression.parametersValues[1].parametersValues[0];
198
+ }
199
+
181
200
  const parentNode = parentPostFilterNodeId
182
201
  ? postFilterState.getNode(parentPostFilterNodeId)
183
202
  : undefined;
@@ -18,6 +18,8 @@ import {
18
18
  AbstractPropertyExpression,
19
19
  LambdaFunctionInstanceValue,
20
20
  matchFunctionName,
21
+ MINUS_STRING,
22
+ PrimitiveInstanceValue,
21
23
  SimpleFunctionExpression,
22
24
  VariableExpression,
23
25
  } from '@finos/legend-graph';
@@ -44,6 +46,24 @@ const processFilterTree = (
44
46
  filterState: QueryBuilderFilterState,
45
47
  parentFilterNodeId: string | undefined,
46
48
  ): void => {
49
+ // NOTE: This checks if the expression is a simple function expression of Minus
50
+ // since negative numbers are returned as a SimpleFunctionExpression of minus(number)
51
+ // rather than a PrimitiveInstanceValue of -number, so here
52
+ // we replace the parameter value of the expression directly with a PrimitiveInstanceValue
53
+ if (
54
+ expression.parametersValues[1] instanceof SimpleFunctionExpression &&
55
+ expression.parametersValues[1].functionName === MINUS_STRING &&
56
+ expression.parametersValues[1].parametersValues[0] instanceof
57
+ PrimitiveInstanceValue
58
+ ) {
59
+ expression.parametersValues[1].parametersValues[0].values[0] =
60
+ parseFloat(
61
+ expression.parametersValues[1].parametersValues[0].values[0] as string,
62
+ ) * -1;
63
+ expression.parametersValues[1] =
64
+ expression.parametersValues[1].parametersValues[0];
65
+ }
66
+
47
67
  const parentNode = parentFilterNodeId
48
68
  ? filterState.getNode(parentFilterNodeId)
49
69
  : undefined;