@finos/legend-query-builder 4.14.35 → 4.14.36

Sign up to get free protection for your applications and to get access to all the features.
Files changed (207) hide show
  1. package/lib/__lib__/QueryBuilderTesting.d.ts +1 -0
  2. package/lib/__lib__/QueryBuilderTesting.d.ts.map +1 -1
  3. package/lib/__lib__/QueryBuilderTesting.js +1 -0
  4. package/lib/__lib__/QueryBuilderTesting.js.map +1 -1
  5. package/lib/components/QueryBuilder.d.ts.map +1 -1
  6. package/lib/components/QueryBuilder.js +37 -17
  7. package/lib/components/QueryBuilder.js.map +1 -1
  8. package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -1
  9. package/lib/components/QueryBuilderConstantExpressionPanel.js +30 -13
  10. package/lib/components/QueryBuilderConstantExpressionPanel.js.map +1 -1
  11. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
  12. package/lib/components/QueryBuilderPropertyExpressionEditor.js +2 -1
  13. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
  14. package/lib/components/QueryBuilderSideBar.d.ts +0 -16
  15. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  16. package/lib/components/QueryBuilderSideBar.js +32 -104
  17. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  18. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  19. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +2 -1
  20. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  21. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  22. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +50 -5
  23. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  24. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  25. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +2 -1
  26. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  27. package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
  28. package/lib/components/filter/QueryBuilderFilterPanel.js +2 -1
  29. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  30. package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
  31. package/lib/components/shared/BasicValueSpecificationEditor.js +62 -28
  32. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
  33. package/lib/components/shared/CustomDatePicker.d.ts +1 -0
  34. package/lib/components/shared/CustomDatePicker.d.ts.map +1 -1
  35. package/lib/components/shared/CustomDatePicker.js +13 -9
  36. package/lib/components/shared/CustomDatePicker.js.map +1 -1
  37. package/lib/components/shared/QueryBuilderVariableSelector.d.ts +1 -0
  38. package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -1
  39. package/lib/components/shared/QueryBuilderVariableSelector.js +2 -2
  40. package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -1
  41. package/lib/components/workflows/ClassQueryBuilder.d.ts.map +1 -1
  42. package/lib/components/workflows/ClassQueryBuilder.js +19 -16
  43. package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
  44. package/lib/components/workflows/MappingQueryBuilder.d.ts.map +1 -1
  45. package/lib/components/workflows/MappingQueryBuilder.js +18 -15
  46. package/lib/components/workflows/MappingQueryBuilder.js.map +1 -1
  47. package/lib/components/workflows/ServiceQueryBuilder.d.ts.map +1 -1
  48. package/lib/components/workflows/ServiceQueryBuilder.js +13 -10
  49. package/lib/components/workflows/ServiceQueryBuilder.js.map +1 -1
  50. package/lib/index.css +2 -2
  51. package/lib/index.css.map +1 -1
  52. package/lib/index.d.ts +2 -1
  53. package/lib/index.d.ts.map +1 -1
  54. package/lib/index.js +1 -0
  55. package/lib/index.js.map +1 -1
  56. package/lib/package.json +1 -1
  57. package/lib/stores/QueryBuilderConstantsState.d.ts.map +1 -1
  58. package/lib/stores/QueryBuilderConstantsState.js +2 -1
  59. package/lib/stores/QueryBuilderConstantsState.js.map +1 -1
  60. package/lib/stores/QueryBuilderPropertyEditorState.d.ts +1 -1
  61. package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
  62. package/lib/stores/QueryBuilderPropertyEditorState.js +12 -34
  63. package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
  64. package/lib/stores/QueryBuilderState.d.ts +3 -0
  65. package/lib/stores/QueryBuilderState.d.ts.map +1 -1
  66. package/lib/stores/QueryBuilderState.js +15 -1
  67. package/lib/stores/QueryBuilderState.js.map +1 -1
  68. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +2 -1
  69. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
  70. package/lib/stores/QueryBuilderValueSpecificationHelper.js +23 -1
  71. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  72. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts +13 -0
  73. package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts.map +1 -1
  74. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +2 -0
  75. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
  76. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +2 -0
  77. package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
  78. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +2 -0
  79. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
  80. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +6 -0
  81. package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
  82. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +2 -0
  83. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
  84. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +15 -0
  85. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
  86. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts +3 -0
  87. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -1
  88. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js +42 -3
  89. package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js.map +1 -1
  90. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
  91. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +6 -5
  92. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
  93. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
  94. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +6 -5
  95. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
  96. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
  97. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +8 -37
  98. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
  99. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
  100. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +7 -10
  101. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
  102. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
  103. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +7 -10
  104. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
  105. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
  106. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +6 -5
  107. package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
  108. package/lib/stores/filter/QueryBuilderFilterState.d.ts +3 -0
  109. package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
  110. package/lib/stores/filter/QueryBuilderFilterState.js +30 -2
  111. package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
  112. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
  113. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +5 -4
  114. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
  115. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
  116. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +5 -4
  117. package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
  118. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
  119. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +7 -35
  120. package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
  121. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
  122. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +6 -8
  123. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
  124. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
  125. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +6 -8
  126. package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
  127. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
  128. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +6 -8
  129. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
  130. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
  131. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +6 -8
  132. package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
  133. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
  134. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +5 -4
  135. package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
  136. package/lib/stores/query-workflow/QueryBuilderWorkFlowState.d.ts +5 -0
  137. package/lib/stores/query-workflow/QueryBuilderWorkFlowState.d.ts.map +1 -1
  138. package/lib/stores/query-workflow/QueryBuilderWorkFlowState.js +7 -0
  139. package/lib/stores/query-workflow/QueryBuilderWorkFlowState.js.map +1 -1
  140. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +1 -1
  141. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
  142. package/lib/stores/shared/ValueSpecificationEditorHelper.js +20 -10
  143. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
  144. package/lib/stores/watermark/QueryBuilderWatermarkState.d.ts +0 -2
  145. package/lib/stores/watermark/QueryBuilderWatermarkState.d.ts.map +1 -1
  146. package/lib/stores/watermark/QueryBuilderWatermarkState.js +0 -6
  147. package/lib/stores/watermark/QueryBuilderWatermarkState.js.map +1 -1
  148. package/lib/stores/workflows/MappingQueryBuilderState.d.ts +2 -2
  149. package/lib/stores/workflows/MappingQueryBuilderState.d.ts.map +1 -1
  150. package/lib/stores/workflows/MappingQueryBuilderState.js +2 -1
  151. package/lib/stores/workflows/MappingQueryBuilderState.js.map +1 -1
  152. package/lib/stores/workflows/ServiceQueryBuilderState.d.ts +2 -2
  153. package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
  154. package/lib/stores/workflows/ServiceQueryBuilderState.js +2 -1
  155. package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
  156. package/package.json +4 -4
  157. package/src/__lib__/QueryBuilderTesting.ts +1 -0
  158. package/src/components/QueryBuilder.tsx +89 -46
  159. package/src/components/QueryBuilderConstantExpressionPanel.tsx +36 -14
  160. package/src/components/QueryBuilderPropertyExpressionEditor.tsx +2 -0
  161. package/src/components/QueryBuilderSideBar.tsx +138 -339
  162. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +6 -1
  163. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +139 -1
  164. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +17 -0
  165. package/src/components/filter/QueryBuilderFilterPanel.tsx +6 -0
  166. package/src/components/shared/BasicValueSpecificationEditor.tsx +96 -34
  167. package/src/components/shared/CustomDatePicker.tsx +18 -11
  168. package/src/components/shared/QueryBuilderVariableSelector.tsx +2 -2
  169. package/src/components/workflows/ClassQueryBuilder.tsx +79 -77
  170. package/src/components/workflows/MappingQueryBuilder.tsx +75 -76
  171. package/src/components/workflows/ServiceQueryBuilder.tsx +71 -70
  172. package/src/index.ts +2 -1
  173. package/src/stores/QueryBuilderConstantsState.ts +2 -0
  174. package/src/stores/QueryBuilderPropertyEditorState.ts +15 -53
  175. package/src/stores/QueryBuilderState.ts +23 -1
  176. package/src/stores/QueryBuilderValueSpecificationHelper.ts +32 -0
  177. package/src/stores/QueryBuilder_LegendApplicationPlugin_Extension.ts +18 -0
  178. package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +4 -0
  179. package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +8 -0
  180. package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +32 -0
  181. package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.ts +59 -0
  182. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +5 -5
  183. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +5 -5
  184. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +10 -69
  185. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +7 -18
  186. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +7 -18
  187. package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +5 -5
  188. package/src/stores/filter/QueryBuilderFilterState.ts +48 -2
  189. package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +5 -5
  190. package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +5 -5
  191. package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +10 -71
  192. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +6 -14
  193. package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +6 -14
  194. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +6 -14
  195. package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +6 -14
  196. package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +5 -5
  197. package/src/stores/query-workflow/QueryBuilderWorkFlowState.ts +10 -0
  198. package/src/stores/shared/ValueSpecificationEditorHelper.ts +32 -16
  199. package/src/stores/watermark/QueryBuilderWatermarkState.ts +0 -7
  200. package/src/stores/workflows/MappingQueryBuilderState.ts +7 -1
  201. package/src/stores/workflows/ServiceQueryBuilderState.ts +6 -1
  202. package/tsconfig.json +0 -1
  203. package/lib/components/watermark/QueryBuilderWatermark.d.ts +0 -22
  204. package/lib/components/watermark/QueryBuilderWatermark.d.ts.map +0 -1
  205. package/lib/components/watermark/QueryBuilderWatermark.js +0 -83
  206. package/lib/components/watermark/QueryBuilderWatermark.js.map +0 -1
  207. package/src/components/watermark/QueryBuilderWatermark.tsx +0 -218
@@ -34,14 +34,11 @@ import type {
34
34
  PostFilterConditionState,
35
35
  QueryBuilderPostFilterState,
36
36
  } from '../QueryBuilderPostFilterState.js';
37
- import {
38
- generateDefaultValueForPrimitiveType,
39
- isTypeCompatibleForAssignment,
40
- } from '../../../../QueryBuilderValueSpecificationHelper.js';
37
+ import { isTypeCompatibleForAssignment } from '../../../../QueryBuilderValueSpecificationHelper.js';
41
38
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
42
39
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graph/QueryBuilderMetaModelConst.js';
43
40
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../../../QueryBuilderStateHashUtils.js';
44
- import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
41
+ import { buildDefaultInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
45
42
 
46
43
  export class QueryBuilderPostFilterOperator_LessThan
47
44
  extends QueryBuilderPostFilterOperator
@@ -89,24 +86,16 @@ export class QueryBuilderPostFilterOperator_LessThan
89
86
  case PRIMITIVE_TYPE.FLOAT:
90
87
  case PRIMITIVE_TYPE.INTEGER:
91
88
  case PRIMITIVE_TYPE.STRICTDATE:
92
- case PRIMITIVE_TYPE.DATETIME: {
93
- return buildPrimitiveInstanceValue(
94
- postFilterConditionState.postFilterState.tdsState.queryBuilderState
95
- .graphManagerState.graph,
96
- propertyType.path,
97
- generateDefaultValueForPrimitiveType(propertyType.path),
98
- postFilterConditionState.postFilterState.tdsState.queryBuilderState
99
- .observerContext,
100
- );
101
- }
89
+ case PRIMITIVE_TYPE.DATETIME:
102
90
  case PRIMITIVE_TYPE.DATE: {
103
- return buildPrimitiveInstanceValue(
91
+ return buildDefaultInstanceValue(
104
92
  postFilterConditionState.postFilterState.tdsState.queryBuilderState
105
93
  .graphManagerState.graph,
106
- PRIMITIVE_TYPE.STRICTDATE,
107
- generateDefaultValueForPrimitiveType(propertyType.path),
94
+ propertyType,
108
95
  postFilterConditionState.postFilterState.tdsState.queryBuilderState
109
96
  .observerContext,
97
+ postFilterConditionState.postFilterState.tdsState.queryBuilderState
98
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
110
99
  );
111
100
  }
112
101
  default:
@@ -35,13 +35,12 @@ import type {
35
35
  } from '../QueryBuilderPostFilterState.js';
36
36
  import {
37
37
  buildNotExpression,
38
- generateDefaultValueForPrimitiveType,
39
38
  unwrapNotExpression,
40
39
  } from '../../../../QueryBuilderValueSpecificationHelper.js';
41
40
  import { buildPostFilterConditionExpression } from './QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
42
41
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graph/QueryBuilderMetaModelConst.js';
43
42
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../../../QueryBuilderStateHashUtils.js';
44
- import { buildPrimitiveInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
43
+ import { buildDefaultInstanceValue } from '../../../../shared/ValueSpecificationEditorHelper.js';
45
44
 
46
45
  export class QueryBuilderPostFilterOperator_StartWith
47
46
  extends QueryBuilderPostFilterOperator
@@ -71,13 +70,14 @@ export class QueryBuilderPostFilterOperator_StartWith
71
70
  postFilterConditionState.leftConditionValue.getColumnType();
72
71
  switch (propertyType?.path) {
73
72
  case PRIMITIVE_TYPE.STRING: {
74
- return buildPrimitiveInstanceValue(
73
+ return buildDefaultInstanceValue(
75
74
  postFilterConditionState.postFilterState.tdsState.queryBuilderState
76
75
  .graphManagerState.graph,
77
- propertyType.path,
78
- generateDefaultValueForPrimitiveType(propertyType.path),
76
+ propertyType,
79
77
  postFilterConditionState.postFilterState.tdsState.queryBuilderState
80
78
  .observerContext,
79
+ postFilterConditionState.postFilterState.tdsState.queryBuilderState
80
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
81
81
  );
82
82
  }
83
83
  default:
@@ -55,7 +55,10 @@ import {
55
55
  import type { QueryBuilderFilterOperator } from './QueryBuilderFilterOperator.js';
56
56
  import { QUERY_BUILDER_GROUP_OPERATION } from '../QueryBuilderGroupOperationHelper.js';
57
57
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../QueryBuilderStateHashUtils.js';
58
- import { isValueExpressionReferencedInValue } from '../QueryBuilderValueSpecificationHelper.js';
58
+ import {
59
+ isValidInstanceValue,
60
+ isValueExpressionReferencedInValue,
61
+ } from '../QueryBuilderValueSpecificationHelper.js';
59
62
  import { instanceValue_setValues } from '../shared/ValueSpecificationModifierHelper.js';
60
63
 
61
64
  export enum QUERY_BUILDER_FILTER_DND_TYPE {
@@ -201,7 +204,8 @@ export class FilterConditionState implements Hashable {
201
204
  let defaultValue = this.operator.getDefaultFilterConditionValue(this);
202
205
  if (
203
206
  defaultValue instanceof CollectionInstanceValue &&
204
- this.value instanceof InstanceValue
207
+ this.value instanceof InstanceValue &&
208
+ isValidInstanceValue(this.value)
205
209
  ) {
206
210
  instanceValue_setValues(
207
211
  defaultValue,
@@ -494,6 +498,9 @@ export class QueryBuilderFilterState
494
498
  collapseTree: action,
495
499
  setShowPanel: action,
496
500
  expandTree: action,
501
+ allValidationIssues: computed,
502
+ hasInvalidFilterValues: computed,
503
+ hasInvalidDerivedPropertyParameters: computed,
497
504
  hashCode: computed,
498
505
  });
499
506
 
@@ -953,6 +960,45 @@ export class QueryBuilderFilterState
953
960
  );
954
961
  }
955
962
 
963
+ get allValidationIssues(): string[] {
964
+ const validationIssues: string[] = [];
965
+ Array.from(this.nodes.values()).forEach((node) => {
966
+ if (node instanceof QueryBuilderFilterTreeConditionNodeData) {
967
+ if (
968
+ node.condition.value instanceof InstanceValue &&
969
+ !isValidInstanceValue(node.condition.value)
970
+ ) {
971
+ validationIssues.push(
972
+ `Filter value for ${node.condition.propertyExpressionState.title} is missing or invalid`,
973
+ );
974
+ }
975
+ if (!node.condition.propertyExpressionState.isValid) {
976
+ validationIssues.push(
977
+ `Derived property parameter value for ${node.condition.propertyExpressionState.title} is missing or invalid`,
978
+ );
979
+ }
980
+ }
981
+ });
982
+ return validationIssues;
983
+ }
984
+
985
+ get hasInvalidFilterValues(): boolean {
986
+ return Array.from(this.nodes.values()).some(
987
+ (node) =>
988
+ node instanceof QueryBuilderFilterTreeConditionNodeData &&
989
+ node.condition.value instanceof InstanceValue &&
990
+ !isValidInstanceValue(node.condition.value),
991
+ );
992
+ }
993
+
994
+ get hasInvalidDerivedPropertyParameters(): boolean {
995
+ return Array.from(this.nodes.values()).some(
996
+ (node) =>
997
+ node instanceof QueryBuilderFilterTreeConditionNodeData &&
998
+ !node.condition.propertyExpressionState.isValid,
999
+ );
1000
+ }
1001
+
956
1002
  get hashCode(): string {
957
1003
  return hashArray([
958
1004
  QUERY_BUILDER_STATE_HASH_STRUCTURE.FILTER_STATE,
@@ -36,13 +36,12 @@ import {
36
36
  } from './QueryBuilderFilterOperatorValueSpecificationBuilder.js';
37
37
  import {
38
38
  buildNotExpression,
39
- generateDefaultValueForPrimitiveType,
40
39
  getNonCollectionValueSpecificationType,
41
40
  unwrapNotExpression,
42
41
  } from '../../QueryBuilderValueSpecificationHelper.js';
43
42
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
44
43
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
45
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
44
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
46
45
 
47
46
  export class QueryBuilderFilterOperator_Contain
48
47
  extends QueryBuilderFilterOperator
@@ -79,12 +78,13 @@ export class QueryBuilderFilterOperator_Contain
79
78
  .genericType.value.rawType;
80
79
  switch (propertyType.path) {
81
80
  case PRIMITIVE_TYPE.STRING: {
82
- return buildPrimitiveInstanceValue(
81
+ return buildDefaultInstanceValue(
83
82
  filterConditionState.filterState.queryBuilderState.graphManagerState
84
83
  .graph,
85
- propertyType.path,
86
- generateDefaultValueForPrimitiveType(propertyType.path),
84
+ propertyType,
87
85
  filterConditionState.filterState.queryBuilderState.observerContext,
86
+ filterConditionState.filterState.queryBuilderState
87
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
88
88
  );
89
89
  }
90
90
  default:
@@ -36,13 +36,12 @@ import {
36
36
  } from './QueryBuilderFilterOperatorValueSpecificationBuilder.js';
37
37
  import {
38
38
  buildNotExpression,
39
- generateDefaultValueForPrimitiveType,
40
39
  getNonCollectionValueSpecificationType,
41
40
  unwrapNotExpression,
42
41
  } from '../../QueryBuilderValueSpecificationHelper.js';
43
42
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
44
43
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
45
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
44
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
46
45
 
47
46
  export class QueryBuilderFilterOperator_EndWith
48
47
  extends QueryBuilderFilterOperator
@@ -79,12 +78,13 @@ export class QueryBuilderFilterOperator_EndWith
79
78
  .genericType.value.rawType;
80
79
  switch (propertyType.path) {
81
80
  case PRIMITIVE_TYPE.STRING: {
82
- return buildPrimitiveInstanceValue(
81
+ return buildDefaultInstanceValue(
83
82
  filterConditionState.filterState.queryBuilderState.graphManagerState
84
83
  .graph,
85
- propertyType.path,
86
- generateDefaultValueForPrimitiveType(propertyType.path),
84
+ propertyType,
87
85
  filterConditionState.filterState.queryBuilderState.observerContext,
86
+ filterConditionState.filterState.queryBuilderState
87
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
88
88
  );
89
89
  }
90
90
  default:
@@ -22,20 +22,11 @@ import { QueryBuilderFilterOperator } from '../QueryBuilderFilterOperator.js';
22
22
  import {
23
23
  type ValueSpecification,
24
24
  type SimpleFunctionExpression,
25
- type Enum,
26
25
  type AbstractPropertyExpression,
27
- EnumValueInstanceValue,
28
- GenericTypeExplicitReference,
29
- GenericType,
30
- EnumValueExplicitReference,
31
26
  Enumeration,
32
27
  PRIMITIVE_TYPE,
33
28
  } from '@finos/legend-graph';
34
- import {
35
- type Hashable,
36
- hashArray,
37
- UnsupportedOperationError,
38
- } from '@finos/legend-shared';
29
+ import { type Hashable, hashArray } from '@finos/legend-shared';
39
30
  import {
40
31
  buildFilterConditionState,
41
32
  buildFilterConditionExpression,
@@ -43,14 +34,12 @@ import {
43
34
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
44
35
  import {
45
36
  buildNotExpression,
46
- generateDefaultValueForPrimitiveType,
47
37
  getNonCollectionValueSpecificationType,
48
38
  isTypeCompatibleForAssignment,
49
39
  unwrapNotExpression,
50
40
  } from '../../QueryBuilderValueSpecificationHelper.js';
51
41
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
52
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
53
- import { instanceValue_setValues } from '../../shared/ValueSpecificationModifierHelper.js';
42
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
54
43
 
55
44
  export class QueryBuilderFilterOperator_Equal
56
45
  extends QueryBuilderFilterOperator
@@ -103,64 +92,14 @@ export class QueryBuilderFilterOperator_Equal
103
92
  const propertyType =
104
93
  filterConditionState.propertyExpressionState.propertyExpression.func.value
105
94
  .genericType.value.rawType;
106
- switch (propertyType.path) {
107
- case PRIMITIVE_TYPE.STRING:
108
- case PRIMITIVE_TYPE.BOOLEAN:
109
- case PRIMITIVE_TYPE.STRICTDATE:
110
- case PRIMITIVE_TYPE.DATETIME:
111
- case PRIMITIVE_TYPE.NUMBER:
112
- case PRIMITIVE_TYPE.DECIMAL:
113
- case PRIMITIVE_TYPE.FLOAT:
114
- case PRIMITIVE_TYPE.INTEGER: {
115
- return buildPrimitiveInstanceValue(
116
- filterConditionState.filterState.queryBuilderState.graphManagerState
117
- .graph,
118
- propertyType.path,
119
- generateDefaultValueForPrimitiveType(propertyType.path),
120
- filterConditionState.filterState.queryBuilderState.observerContext,
121
- );
122
- }
123
- case PRIMITIVE_TYPE.DATE: {
124
- return buildPrimitiveInstanceValue(
125
- filterConditionState.filterState.queryBuilderState.graphManagerState
126
- .graph,
127
- PRIMITIVE_TYPE.STRICTDATE,
128
- generateDefaultValueForPrimitiveType(propertyType.path),
129
- filterConditionState.filterState.queryBuilderState.observerContext,
130
- );
131
- }
132
- default:
133
- if (propertyType instanceof Enumeration) {
134
- if (propertyType.values.length > 0) {
135
- const enumValueInstanceValue = new EnumValueInstanceValue(
136
- GenericTypeExplicitReference.create(
137
- new GenericType(propertyType),
138
- ),
139
- );
140
- instanceValue_setValues(
141
- enumValueInstanceValue,
142
- [
143
- EnumValueExplicitReference.create(
144
- propertyType.values[0] as Enum,
145
- ),
146
- ],
147
- filterConditionState.filterState.queryBuilderState
148
- .observerContext,
149
- );
150
- return enumValueInstanceValue;
151
- }
152
- throw new UnsupportedOperationError(
153
- `Can't get default value for filter operator '${this.getLabel(
154
- filterConditionState,
155
- )}' since enumeration '${propertyType.path}' has no value`,
156
- );
157
- }
158
- throw new UnsupportedOperationError(
159
- `Can't get default value for filter operator '${this.getLabel(
160
- filterConditionState,
161
- )}' when the LHS property is of type '${propertyType.path}'`,
162
- );
163
- }
95
+ return buildDefaultInstanceValue(
96
+ filterConditionState.filterState.queryBuilderState.graphManagerState
97
+ .graph,
98
+ propertyType,
99
+ filterConditionState.filterState.queryBuilderState.observerContext,
100
+ filterConditionState.filterState.queryBuilderState
101
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
102
+ );
164
103
  }
165
104
 
166
105
  buildFilterConditionExpression(
@@ -36,12 +36,11 @@ import {
36
36
  } from './QueryBuilderFilterOperatorValueSpecificationBuilder.js';
37
37
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
38
38
  import {
39
- generateDefaultValueForPrimitiveType,
40
39
  getNonCollectionValueSpecificationType,
41
40
  isTypeCompatibleForAssignment,
42
41
  } from '../../QueryBuilderValueSpecificationHelper.js';
43
42
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
44
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
43
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
45
44
 
46
45
  export class QueryBuilderFilterOperator_GreaterThan
47
46
  extends QueryBuilderFilterOperator
@@ -94,22 +93,15 @@ export class QueryBuilderFilterOperator_GreaterThan
94
93
  case PRIMITIVE_TYPE.FLOAT:
95
94
  case PRIMITIVE_TYPE.INTEGER:
96
95
  case PRIMITIVE_TYPE.STRICTDATE:
97
- case PRIMITIVE_TYPE.DATETIME: {
98
- return buildPrimitiveInstanceValue(
99
- filterConditionState.filterState.queryBuilderState.graphManagerState
100
- .graph,
101
- propertyType.path,
102
- generateDefaultValueForPrimitiveType(propertyType.path),
103
- filterConditionState.filterState.queryBuilderState.observerContext,
104
- );
105
- }
96
+ case PRIMITIVE_TYPE.DATETIME:
106
97
  case PRIMITIVE_TYPE.DATE: {
107
- return buildPrimitiveInstanceValue(
98
+ return buildDefaultInstanceValue(
108
99
  filterConditionState.filterState.queryBuilderState.graphManagerState
109
100
  .graph,
110
- PRIMITIVE_TYPE.STRICTDATE,
111
- generateDefaultValueForPrimitiveType(propertyType.path),
101
+ propertyType,
112
102
  filterConditionState.filterState.queryBuilderState.observerContext,
103
+ filterConditionState.filterState.queryBuilderState
104
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
113
105
  );
114
106
  }
115
107
  default:
@@ -36,12 +36,11 @@ import {
36
36
  } from './QueryBuilderFilterOperatorValueSpecificationBuilder.js';
37
37
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
38
38
  import {
39
- generateDefaultValueForPrimitiveType,
40
39
  getNonCollectionValueSpecificationType,
41
40
  isTypeCompatibleForAssignment,
42
41
  } from '../../QueryBuilderValueSpecificationHelper.js';
43
42
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
44
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
43
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
45
44
 
46
45
  export class QueryBuilderFilterOperator_GreaterThanEqual
47
46
  extends QueryBuilderFilterOperator
@@ -94,22 +93,15 @@ export class QueryBuilderFilterOperator_GreaterThanEqual
94
93
  case PRIMITIVE_TYPE.FLOAT:
95
94
  case PRIMITIVE_TYPE.INTEGER:
96
95
  case PRIMITIVE_TYPE.STRICTDATE:
97
- case PRIMITIVE_TYPE.DATETIME: {
98
- return buildPrimitiveInstanceValue(
99
- filterConditionState.filterState.queryBuilderState.graphManagerState
100
- .graph,
101
- propertyType.path,
102
- generateDefaultValueForPrimitiveType(propertyType.path),
103
- filterConditionState.filterState.queryBuilderState.observerContext,
104
- );
105
- }
96
+ case PRIMITIVE_TYPE.DATETIME:
106
97
  case PRIMITIVE_TYPE.DATE: {
107
- return buildPrimitiveInstanceValue(
98
+ return buildDefaultInstanceValue(
108
99
  filterConditionState.filterState.queryBuilderState.graphManagerState
109
100
  .graph,
110
- PRIMITIVE_TYPE.STRICTDATE,
111
- generateDefaultValueForPrimitiveType(propertyType.path),
101
+ propertyType,
112
102
  filterConditionState.filterState.queryBuilderState.observerContext,
103
+ filterConditionState.filterState.queryBuilderState
104
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
113
105
  );
114
106
  }
115
107
  default:
@@ -36,12 +36,11 @@ import {
36
36
  } from './QueryBuilderFilterOperatorValueSpecificationBuilder.js';
37
37
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
38
38
  import {
39
- generateDefaultValueForPrimitiveType,
40
39
  getNonCollectionValueSpecificationType,
41
40
  isTypeCompatibleForAssignment,
42
41
  } from '../../QueryBuilderValueSpecificationHelper.js';
43
42
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
44
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
43
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
45
44
 
46
45
  export class QueryBuilderFilterOperator_LessThan
47
46
  extends QueryBuilderFilterOperator
@@ -94,22 +93,15 @@ export class QueryBuilderFilterOperator_LessThan
94
93
  case PRIMITIVE_TYPE.FLOAT:
95
94
  case PRIMITIVE_TYPE.INTEGER:
96
95
  case PRIMITIVE_TYPE.STRICTDATE:
97
- case PRIMITIVE_TYPE.DATETIME: {
98
- return buildPrimitiveInstanceValue(
99
- filterConditionState.filterState.queryBuilderState.graphManagerState
100
- .graph,
101
- propertyType.path,
102
- generateDefaultValueForPrimitiveType(propertyType.path),
103
- filterConditionState.filterState.queryBuilderState.observerContext,
104
- );
105
- }
96
+ case PRIMITIVE_TYPE.DATETIME:
106
97
  case PRIMITIVE_TYPE.DATE: {
107
- return buildPrimitiveInstanceValue(
98
+ return buildDefaultInstanceValue(
108
99
  filterConditionState.filterState.queryBuilderState.graphManagerState
109
100
  .graph,
110
- PRIMITIVE_TYPE.STRICTDATE,
111
- generateDefaultValueForPrimitiveType(propertyType.path),
101
+ propertyType,
112
102
  filterConditionState.filterState.queryBuilderState.observerContext,
103
+ filterConditionState.filterState.queryBuilderState
104
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
113
105
  );
114
106
  }
115
107
  default:
@@ -36,12 +36,11 @@ import {
36
36
  } from './QueryBuilderFilterOperatorValueSpecificationBuilder.js';
37
37
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
38
38
  import {
39
- generateDefaultValueForPrimitiveType,
40
39
  getNonCollectionValueSpecificationType,
41
40
  isTypeCompatibleForAssignment,
42
41
  } from '../../QueryBuilderValueSpecificationHelper.js';
43
42
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
44
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
43
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
45
44
 
46
45
  export class QueryBuilderFilterOperator_LessThanEqual
47
46
  extends QueryBuilderFilterOperator
@@ -94,22 +93,15 @@ export class QueryBuilderFilterOperator_LessThanEqual
94
93
  case PRIMITIVE_TYPE.FLOAT:
95
94
  case PRIMITIVE_TYPE.INTEGER:
96
95
  case PRIMITIVE_TYPE.STRICTDATE:
97
- case PRIMITIVE_TYPE.DATETIME: {
98
- return buildPrimitiveInstanceValue(
99
- filterConditionState.filterState.queryBuilderState.graphManagerState
100
- .graph,
101
- propertyType.path,
102
- generateDefaultValueForPrimitiveType(propertyType.path),
103
- filterConditionState.filterState.queryBuilderState.observerContext,
104
- );
105
- }
96
+ case PRIMITIVE_TYPE.DATETIME:
106
97
  case PRIMITIVE_TYPE.DATE: {
107
- return buildPrimitiveInstanceValue(
98
+ return buildDefaultInstanceValue(
108
99
  filterConditionState.filterState.queryBuilderState.graphManagerState
109
100
  .graph,
110
- PRIMITIVE_TYPE.STRICTDATE,
111
- generateDefaultValueForPrimitiveType(propertyType.path),
101
+ propertyType,
112
102
  filterConditionState.filterState.queryBuilderState.observerContext,
103
+ filterConditionState.filterState.queryBuilderState
104
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
113
105
  );
114
106
  }
115
107
  default:
@@ -37,12 +37,11 @@ import {
37
37
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graph/QueryBuilderMetaModelConst.js';
38
38
  import {
39
39
  buildNotExpression,
40
- generateDefaultValueForPrimitiveType,
41
40
  getNonCollectionValueSpecificationType,
42
41
  unwrapNotExpression,
43
42
  } from '../../QueryBuilderValueSpecificationHelper.js';
44
43
  import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from '../../QueryBuilderStateHashUtils.js';
45
- import { buildPrimitiveInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
44
+ import { buildDefaultInstanceValue } from '../../shared/ValueSpecificationEditorHelper.js';
46
45
 
47
46
  export class QueryBuilderFilterOperator_StartWith
48
47
  extends QueryBuilderFilterOperator
@@ -79,12 +78,13 @@ export class QueryBuilderFilterOperator_StartWith
79
78
  .genericType.value.rawType;
80
79
  switch (propertyType.path) {
81
80
  case PRIMITIVE_TYPE.STRING: {
82
- return buildPrimitiveInstanceValue(
81
+ return buildDefaultInstanceValue(
83
82
  filterConditionState.filterState.queryBuilderState.graphManagerState
84
83
  .graph,
85
- propertyType.path,
86
- generateDefaultValueForPrimitiveType(propertyType.path),
84
+ propertyType,
87
85
  filterConditionState.filterState.queryBuilderState.observerContext,
86
+ filterConditionState.filterState.queryBuilderState
87
+ .INTERNAL__enableInitializingDefaultSimpleExpressionValue,
88
88
  );
89
89
  }
90
90
  default:
@@ -21,12 +21,22 @@ export interface FetchStructureLayoutConfig {
21
21
  showInFetchPanel: boolean;
22
22
  }
23
23
 
24
+ export class QueryBuilderActionConfig {
25
+ static INSTANCE = new QueryBuilderActionConfig();
26
+ }
27
+
24
28
  export abstract class QueryBuilderWorkflowState {
29
+ actionConfig = QueryBuilderActionConfig.INSTANCE;
30
+
25
31
  abstract get showStatusBar(): boolean;
26
32
 
27
33
  abstract getFetchStructureLayoutConfig(
28
34
  state: QueryBuilderState,
29
35
  ): FetchStructureLayoutConfig;
36
+
37
+ updateActionConfig(actionConfig: QueryBuilderActionConfig): void {
38
+ this.actionConfig = actionConfig;
39
+ }
30
40
  }
31
41
 
32
42
  export class QueryBuilderAdvancedWorkflowState extends QueryBuilderWorkflowState {
@@ -134,11 +134,11 @@ export const buildDefaultInstanceValue = (
134
134
  graph: PureModel,
135
135
  type: Type,
136
136
  observerContext: ObserverContext,
137
+ enableInitializingDefaultValue: boolean,
137
138
  ): ValueSpecification => {
138
139
  const path = type.path;
139
140
  switch (path) {
140
141
  case PRIMITIVE_TYPE.STRING:
141
- case PRIMITIVE_TYPE.BOOLEAN:
142
142
  case PRIMITIVE_TYPE.STRICTDATE:
143
143
  case PRIMITIVE_TYPE.DATETIME:
144
144
  case PRIMITIVE_TYPE.NUMBER:
@@ -147,6 +147,16 @@ export const buildDefaultInstanceValue = (
147
147
  case PRIMITIVE_TYPE.BINARY:
148
148
  case PRIMITIVE_TYPE.BYTE:
149
149
  case PRIMITIVE_TYPE.INTEGER: {
150
+ return buildPrimitiveInstanceValue(
151
+ graph,
152
+ path,
153
+ enableInitializingDefaultValue
154
+ ? generateDefaultValueForPrimitiveType(path)
155
+ : null,
156
+ observerContext,
157
+ );
158
+ }
159
+ case PRIMITIVE_TYPE.BOOLEAN: {
150
160
  return buildPrimitiveInstanceValue(
151
161
  graph,
152
162
  path,
@@ -158,29 +168,34 @@ export const buildDefaultInstanceValue = (
158
168
  return buildPrimitiveInstanceValue(
159
169
  graph,
160
170
  PRIMITIVE_TYPE.STRICTDATE,
161
- generateDefaultValueForPrimitiveType(path),
171
+ enableInitializingDefaultValue
172
+ ? generateDefaultValueForPrimitiveType(path)
173
+ : null,
162
174
  observerContext,
163
175
  );
164
176
  }
165
177
  default:
166
178
  if (type instanceof Enumeration) {
167
- if (type.values.length > 0) {
168
- const enumValueInstanceValue = new EnumValueInstanceValue(
169
- GenericTypeExplicitReference.create(new GenericType(type)),
170
- );
171
- instanceValue_setValues(
172
- enumValueInstanceValue,
173
- [EnumValueExplicitReference.create(type.values[0] as Enum)],
174
- observerContext,
175
- );
176
- return enumValueInstanceValue;
177
- }
178
- throw new UnsupportedOperationError(
179
- `Can't get default value for enumeration since enumeration '${path}' has no value`,
179
+ const enumValueInstanceValue = new EnumValueInstanceValue(
180
+ GenericTypeExplicitReference.create(new GenericType(type)),
180
181
  );
182
+ if (enableInitializingDefaultValue) {
183
+ if (type.values.length > 0) {
184
+ instanceValue_setValues(
185
+ enumValueInstanceValue,
186
+ [EnumValueExplicitReference.create(type.values[0] as Enum)],
187
+ observerContext,
188
+ );
189
+ } else {
190
+ throw new UnsupportedOperationError(
191
+ `Can't get default value for enumeration since enumeration '${path}' has no value`,
192
+ );
193
+ }
194
+ }
195
+ return enumValueInstanceValue;
181
196
  }
182
197
  throw new UnsupportedOperationError(
183
- `Can't get default value for type'${path}'`,
198
+ `Can't get default value for type '${path}'`,
184
199
  );
185
200
  }
186
201
  };
@@ -201,6 +216,7 @@ export const buildDefaultEmptyStringLambda = (
201
216
  graph,
202
217
  PrimitiveType.STRING,
203
218
  observerContext,
219
+ true,
204
220
  );
205
221
  return lambdaFunction;
206
222
  };