@finos/legend-query-builder 4.14.35 → 4.14.36

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 (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
  };