@finos/legend-query-builder 4.14.47 → 4.14.49

Sign up to get free protection for your applications and to get access to all the features.
Files changed (249) hide show
  1. package/lib/__lib__/QueryBuilderDocumentation.d.ts +3 -1
  2. package/lib/__lib__/QueryBuilderDocumentation.d.ts.map +1 -1
  3. package/lib/__lib__/QueryBuilderDocumentation.js +2 -0
  4. package/lib/__lib__/QueryBuilderDocumentation.js.map +1 -1
  5. package/lib/components/QueryBuilder.d.ts +1 -1
  6. package/lib/components/QueryBuilder.d.ts.map +1 -1
  7. package/lib/components/QueryBuilder.js +59 -46
  8. package/lib/components/QueryBuilder.js.map +1 -1
  9. package/lib/components/QueryBuilderConstantExpressionPanel.d.ts +1 -1
  10. package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -1
  11. package/lib/components/QueryBuilderConstantExpressionPanel.js +22 -22
  12. package/lib/components/QueryBuilderConstantExpressionPanel.js.map +1 -1
  13. package/lib/components/QueryBuilderDiffPanel.d.ts +2 -2
  14. package/lib/components/QueryBuilderDiffPanel.js +7 -6
  15. package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
  16. package/lib/components/QueryBuilderParametersPanel.d.ts +1 -1
  17. package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
  18. package/lib/components/QueryBuilderParametersPanel.js +29 -10
  19. package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
  20. package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +3 -3
  21. package/lib/components/QueryBuilderPropertyExpressionEditor.js +14 -13
  22. package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
  23. package/lib/components/QueryBuilderSideBar.d.ts +2 -2
  24. package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
  25. package/lib/components/QueryBuilderSideBar.js +14 -24
  26. package/lib/components/QueryBuilderSideBar.js.map +1 -1
  27. package/lib/components/QueryBuilderTextEditor.d.ts +1 -1
  28. package/lib/components/QueryBuilderTextEditor.js +8 -7
  29. package/lib/components/QueryBuilderTextEditor.js.map +1 -1
  30. package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +1 -1
  31. package/lib/components/QueryBuilderUnsupportedQueryEditor.js +4 -3
  32. package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
  33. package/lib/components/QueryChat.d.ts +1 -1
  34. package/lib/components/QueryChat.js +3 -2
  35. package/lib/components/QueryChat.js.map +1 -1
  36. package/lib/components/QueryLoader.d.ts +2 -2
  37. package/lib/components/QueryLoader.js +25 -24
  38. package/lib/components/QueryLoader.js.map +1 -1
  39. package/lib/components/QueryUsageViewer.d.ts +1 -1
  40. package/lib/components/QueryUsageViewer.js +4 -3
  41. package/lib/components/QueryUsageViewer.js.map +1 -1
  42. package/lib/components/ServiceQuerySetupUtils.js +4 -3
  43. package/lib/components/ServiceQuerySetupUtils.js.map +1 -1
  44. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js +3 -2
  45. package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js.map +1 -1
  46. package/lib/components/data-access/DataAccessOverview.d.ts +1 -1
  47. package/lib/components/data-access/DataAccessOverview.js +17 -16
  48. package/lib/components/data-access/DataAccessOverview.js.map +1 -1
  49. package/lib/components/execution-plan/AllocationExecutionNodeViewer.js +4 -3
  50. package/lib/components/execution-plan/AllocationExecutionNodeViewer.js.map +1 -1
  51. package/lib/components/execution-plan/ConstantExecutionNodeViewer.js +3 -2
  52. package/lib/components/execution-plan/ConstantExecutionNodeViewer.js.map +1 -1
  53. package/lib/components/execution-plan/DataTypeResultTypeViewer.js +4 -3
  54. package/lib/components/execution-plan/DataTypeResultTypeViewer.js.map +1 -1
  55. package/lib/components/execution-plan/ExecutionPlanViewer.d.ts +3 -3
  56. package/lib/components/execution-plan/ExecutionPlanViewer.js +34 -33
  57. package/lib/components/execution-plan/ExecutionPlanViewer.js.map +1 -1
  58. package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.js +3 -2
  59. package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.js.map +1 -1
  60. package/lib/components/execution-plan/ImplementationViewer.js +4 -3
  61. package/lib/components/execution-plan/ImplementationViewer.js.map +1 -1
  62. package/lib/components/execution-plan/PartialClassResultViewer.js +3 -2
  63. package/lib/components/execution-plan/PartialClassResultViewer.js.map +1 -1
  64. package/lib/components/execution-plan/RelationalClassQueryTempTableGraphFetchExecutionNodeViewer.js +6 -5
  65. package/lib/components/execution-plan/RelationalClassQueryTempTableGraphFetchExecutionNodeViewer.js.map +1 -1
  66. package/lib/components/execution-plan/RelationalCrossRootQueryTempTableGraphFetchExecutionNodeViewer.js +7 -6
  67. package/lib/components/execution-plan/RelationalCrossRootQueryTempTableGraphFetchExecutionNodeViewer.js.map +1 -1
  68. package/lib/components/execution-plan/RelationalRootQueryTempTableGraphFetchExecutionNodeViewer.js +6 -5
  69. package/lib/components/execution-plan/RelationalRootQueryTempTableGraphFetchExecutionNodeViewer.js.map +1 -1
  70. package/lib/components/execution-plan/RelationalTDSInstantiationExecutionNodeViewer.js +4 -3
  71. package/lib/components/execution-plan/RelationalTDSInstantiationExecutionNodeViewer.js.map +1 -1
  72. package/lib/components/execution-plan/ResultTypeViewer.js +5 -4
  73. package/lib/components/execution-plan/ResultTypeViewer.js.map +1 -1
  74. package/lib/components/execution-plan/SQLExecutionNodeViewer.js +7 -6
  75. package/lib/components/execution-plan/SQLExecutionNodeViewer.js.map +1 -1
  76. package/lib/components/execution-plan/SequenceExecutionNodeViewer.js +6 -5
  77. package/lib/components/execution-plan/SequenceExecutionNodeViewer.js.map +1 -1
  78. package/lib/components/execution-plan/StoreMappingGlobalGraphFetchExecutionNodeViewer.js +6 -5
  79. package/lib/components/execution-plan/StoreMappingGlobalGraphFetchExecutionNodeViewer.js.map +1 -1
  80. package/lib/components/execution-plan/TDSResultTypeViewer.js +4 -3
  81. package/lib/components/execution-plan/TDSResultTypeViewer.js.map +1 -1
  82. package/lib/components/execution-plan/TempTableStrategyViewer.js +3 -2
  83. package/lib/components/execution-plan/TempTableStrategyViewer.js.map +1 -1
  84. package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts +1 -1
  85. package/lib/components/explorer/QueryBuilderExplorerPanel.js +31 -30
  86. package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
  87. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts +1 -1
  88. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +20 -19
  89. package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
  90. package/lib/components/explorer/{QueryBuilderMilestoningEditor.d.ts → QueryBuilderMilestoningParameterEditor.d.ts} +6 -3
  91. package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.d.ts.map +1 -0
  92. package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.js +53 -0
  93. package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.js.map +1 -0
  94. package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts +1 -1
  95. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +18 -17
  96. package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
  97. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts +1 -1
  98. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +9 -8
  99. package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
  100. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +3 -3
  101. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js +24 -23
  102. package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -1
  103. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +4 -3
  104. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
  105. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +76 -54
  106. package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
  107. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.d.ts +1 -1
  108. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js +3 -2
  109. package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js.map +1 -1
  110. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +1 -1
  111. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
  112. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +201 -29
  113. package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
  114. package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js +9 -8
  115. package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js.map +1 -1
  116. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts +1 -1
  117. package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
  118. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +55 -36
  119. package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
  120. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.d.ts +1 -1
  121. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js +29 -28
  122. package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js.map +1 -1
  123. package/lib/components/filter/QueryBuilderFilterPanel.d.ts +1 -1
  124. package/lib/components/filter/QueryBuilderFilterPanel.js +20 -19
  125. package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
  126. package/lib/components/result/QueryBuilderResultPanel.d.ts +2 -2
  127. package/lib/components/result/QueryBuilderResultPanel.d.ts.map +1 -1
  128. package/lib/components/result/QueryBuilderResultPanel.js +19 -17
  129. package/lib/components/result/QueryBuilderResultPanel.js.map +1 -1
  130. package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts +1 -1
  131. package/lib/components/result/tds/QueryBuilderTDSGridResult.js +11 -10
  132. package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
  133. package/lib/components/result/tds/QueryBuilderTDSResultShared.js +5 -4
  134. package/lib/components/result/tds/QueryBuilderTDSResultShared.js.map +1 -1
  135. package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.d.ts +1 -1
  136. package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js +9 -8
  137. package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js.map +1 -1
  138. package/lib/components/shared/BasicValueSpecificationEditor.js +38 -37
  139. package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
  140. package/lib/components/shared/CustomDatePicker.js +21 -20
  141. package/lib/components/shared/CustomDatePicker.js.map +1 -1
  142. package/lib/components/shared/LambdaEditor.d.ts +2 -2
  143. package/lib/components/shared/LambdaEditor.js +14 -13
  144. package/lib/components/shared/LambdaEditor.js.map +1 -1
  145. package/lib/components/shared/LambdaParameterValuesEditor.d.ts +1 -1
  146. package/lib/components/shared/LambdaParameterValuesEditor.js +7 -6
  147. package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -1
  148. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js +4 -3
  149. package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -1
  150. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js +10 -9
  151. package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -1
  152. package/lib/components/shared/QueryBuilderRootClassInfoTooltip.js +4 -3
  153. package/lib/components/shared/QueryBuilderRootClassInfoTooltip.js.map +1 -1
  154. package/lib/components/shared/QueryBuilderVariableSelector.d.ts +2 -2
  155. package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -1
  156. package/lib/components/shared/QueryBuilderVariableSelector.js +15 -7
  157. package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -1
  158. package/lib/components/workflows/ClassQueryBuilder.js +6 -5
  159. package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
  160. package/lib/components/workflows/MappingQueryBuilder.js +6 -5
  161. package/lib/components/workflows/MappingQueryBuilder.js.map +1 -1
  162. package/lib/components/workflows/ServiceQueryBuilder.js +6 -5
  163. package/lib/components/workflows/ServiceQueryBuilder.js.map +1 -1
  164. package/lib/graph-manager/QueryBuilderConfig.d.ts +4 -0
  165. package/lib/graph-manager/QueryBuilderConfig.d.ts.map +1 -1
  166. package/lib/graph-manager/QueryBuilderConfig.js +5 -0
  167. package/lib/graph-manager/QueryBuilderConfig.js.map +1 -1
  168. package/lib/index.css +2 -2
  169. package/lib/index.css.map +1 -1
  170. package/lib/package.json +1 -1
  171. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +2 -1
  172. package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
  173. package/lib/stores/QueryBuilderValueSpecificationHelper.js +3 -3
  174. package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
  175. package/lib/stores/QueryLoaderState.d.ts +1 -0
  176. package/lib/stores/QueryLoaderState.d.ts.map +1 -1
  177. package/lib/stores/QueryLoaderState.js +1 -0
  178. package/lib/stores/QueryLoaderState.js.map +1 -1
  179. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +1 -0
  180. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
  181. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +8 -0
  182. package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
  183. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.d.ts.map +1 -1
  184. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.js +4 -2
  185. package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.js.map +1 -1
  186. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
  187. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +1 -1
  188. package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
  189. package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -1
  190. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +1 -1
  191. package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
  192. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts +2 -0
  193. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts.map +1 -1
  194. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js +13 -2
  195. package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js.map +1 -1
  196. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts +2 -0
  197. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts.map +1 -1
  198. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js +8 -1
  199. package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js.map +1 -1
  200. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts +1 -1
  201. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts.map +1 -1
  202. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js +25 -1
  203. package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -1
  204. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts +2 -0
  205. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts.map +1 -1
  206. package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.js.map +1 -1
  207. package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts +5 -0
  208. package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -1
  209. package/lib/stores/milestoning/QueryBuilderMilestoningState.js +62 -3
  210. package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
  211. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts +2 -0
  212. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts.map +1 -1
  213. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js +8 -1
  214. package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js.map +1 -1
  215. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +1 -0
  216. package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
  217. package/lib/stores/shared/ValueSpecificationEditorHelper.js +7 -1
  218. package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
  219. package/package.json +4 -4
  220. package/src/__lib__/QueryBuilderDocumentation.ts +2 -0
  221. package/src/components/QueryBuilder.tsx +44 -0
  222. package/src/components/QueryBuilderConstantExpressionPanel.tsx +13 -4
  223. package/src/components/QueryBuilderParametersPanel.tsx +55 -0
  224. package/src/components/QueryBuilderSideBar.tsx +0 -42
  225. package/src/components/explorer/QueryBuilderMilestoningParameterEditor.tsx +114 -0
  226. package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +143 -78
  227. package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +445 -19
  228. package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +134 -21
  229. package/src/components/result/QueryBuilderResultPanel.tsx +9 -1
  230. package/src/components/shared/QueryBuilderVariableSelector.tsx +22 -0
  231. package/src/graph-manager/QueryBuilderConfig.ts +6 -0
  232. package/src/stores/QueryBuilderValueSpecificationHelper.ts +4 -1
  233. package/src/stores/QueryLoaderState.ts +1 -0
  234. package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +11 -0
  235. package/src/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.ts +6 -2
  236. package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +1 -0
  237. package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +1 -0
  238. package/src/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.ts +23 -0
  239. package/src/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.ts +13 -0
  240. package/src/stores/milestoning/QueryBuilderMilestoningHelper.ts +45 -0
  241. package/src/stores/milestoning/QueryBuilderMilestoningImplementation.ts +3 -0
  242. package/src/stores/milestoning/QueryBuilderMilestoningState.ts +95 -7
  243. package/src/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.ts +13 -0
  244. package/src/stores/shared/ValueSpecificationEditorHelper.ts +11 -0
  245. package/tsconfig.json +1 -1
  246. package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +0 -1
  247. package/lib/components/explorer/QueryBuilderMilestoningEditor.js +0 -102
  248. package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +0 -1
  249. package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +0 -364
@@ -75,7 +75,7 @@ export class QueryBuilderMilestoningState implements Hashable {
75
75
  startDate: observable,
76
76
  endDate: observable,
77
77
  showMilestoningEditor: observable,
78
- isMilestonedQuery: computed,
78
+
79
79
  setProcessingDate: action,
80
80
  setBusinessDate: action,
81
81
  setStartDate: action,
@@ -87,6 +87,10 @@ export class QueryBuilderMilestoningState implements Hashable {
87
87
  initializeAllVersionsInRangeParameters: action,
88
88
  clearAllVersionsInRangeParameters: action,
89
89
  clearGetAllParameters: action,
90
+
91
+ isAllVersionsEnabled: computed,
92
+ isAllVersionsInRangeEnabled: computed,
93
+ isMilestonedQuery: computed,
90
94
  hashCode: computed,
91
95
  });
92
96
 
@@ -380,9 +384,9 @@ export class QueryBuilderMilestoningState implements Hashable {
380
384
  this.queryBuilderState.parametersState.parameterStates.find(
381
385
  (p) => p.parameter === this.startDate,
382
386
  );
383
- this.queryBuilderState.parametersState.removeParameter(
384
- guaranteeNonNullable(paramState),
385
- );
387
+ if (paramState) {
388
+ this.queryBuilderState.parametersState.removeParameter(paramState);
389
+ }
386
390
  }
387
391
  if (
388
392
  this.endDate instanceof VariableExpression &&
@@ -394,9 +398,9 @@ export class QueryBuilderMilestoningState implements Hashable {
394
398
  this.queryBuilderState.parametersState.parameterStates.find(
395
399
  (p) => p.parameter === this.endDate,
396
400
  );
397
- this.queryBuilderState.parametersState.removeParameter(
398
- guaranteeNonNullable(paramState),
399
- );
401
+ if (paramState) {
402
+ this.queryBuilderState.parametersState.removeParameter(paramState);
403
+ }
400
404
  }
401
405
  this.setStartDate(undefined);
402
406
  this.setEndDate(undefined);
@@ -422,6 +426,36 @@ export class QueryBuilderMilestoningState implements Hashable {
422
426
  }
423
427
  }
424
428
 
429
+ buildParameterStateFromMilestoningParameter(
430
+ parameterName: string,
431
+ ): LambdaParameterState | undefined {
432
+ const milestoningParameter = new VariableExpression(
433
+ parameterName,
434
+ Multiplicity.ONE,
435
+ GenericTypeExplicitReference.create(new GenericType(PrimitiveType.DATE)),
436
+ );
437
+ const paramState =
438
+ this.queryBuilderState.parametersState.parameterStates.find(
439
+ (p) => p.variableName === parameterName,
440
+ );
441
+ if (paramState) {
442
+ return paramState;
443
+ } else if (
444
+ !this.queryBuilderState.constantState.constants.find(
445
+ (c) => c.variable.name === parameterName,
446
+ )
447
+ ) {
448
+ const variableState = new LambdaParameterState(
449
+ milestoningParameter,
450
+ this.queryBuilderState.observerContext,
451
+ this.queryBuilderState.graphManagerState.graph,
452
+ );
453
+ variableState.mockParameterValue();
454
+ return variableState;
455
+ }
456
+ return undefined;
457
+ }
458
+
425
459
  buildMilestoningParameter(parameterName: string): ValueSpecification {
426
460
  const milestoningParameter = new VariableExpression(
427
461
  parameterName,
@@ -447,6 +481,33 @@ export class QueryBuilderMilestoningState implements Hashable {
447
481
  return milestoningParameter;
448
482
  }
449
483
 
484
+ updateMilestoningParameterValue(
485
+ parameter: VariableExpression,
486
+ value: ValueSpecification | undefined,
487
+ ): void {
488
+ const variableState =
489
+ this.queryBuilderState.parametersState.parameterStates.find(
490
+ (param) => param.parameter.name === parameter.name,
491
+ );
492
+ if (variableState) {
493
+ variableState.setValue(value);
494
+ }
495
+ }
496
+
497
+ getMilestoningParameterValue(
498
+ milestoningParameter: ValueSpecification,
499
+ ): ValueSpecification | undefined {
500
+ let value: ValueSpecification | undefined = milestoningParameter;
501
+ if (milestoningParameter instanceof VariableExpression) {
502
+ const paramState =
503
+ this.queryBuilderState.parametersState.parameterStates.find(
504
+ (param) => param.parameter.name === milestoningParameter.name,
505
+ );
506
+ value = paramState?.value;
507
+ }
508
+ return value;
509
+ }
510
+
450
511
  isVariableUsed(variable: VariableExpression): boolean {
451
512
  const usedInBusiness = this.businessDate
452
513
  ? isValueExpressionReferencedInValue(variable, this.businessDate)
@@ -457,6 +518,33 @@ export class QueryBuilderMilestoningState implements Hashable {
457
518
  return usedInBusiness || usedInProcessingDate;
458
519
  }
459
520
 
521
+ isMilestoningParameter(parameter: VariableExpression): boolean {
522
+ let isMilestoningParameter = false;
523
+ if (this.businessDate instanceof VariableExpression) {
524
+ isMilestoningParameter =
525
+ parameter.name ===
526
+ guaranteeType(this.businessDate, VariableExpression).name;
527
+ }
528
+ if (this.processingDate instanceof VariableExpression) {
529
+ isMilestoningParameter =
530
+ isMilestoningParameter ||
531
+ parameter.name ===
532
+ guaranteeType(this.processingDate, VariableExpression).name;
533
+ }
534
+ if (this.startDate instanceof VariableExpression) {
535
+ isMilestoningParameter =
536
+ isMilestoningParameter ||
537
+ parameter.name ===
538
+ guaranteeType(this.startDate, VariableExpression).name;
539
+ }
540
+ if (this.endDate instanceof VariableExpression) {
541
+ isMilestoningParameter =
542
+ isMilestoningParameter ||
543
+ parameter.name === guaranteeType(this.endDate, VariableExpression).name;
544
+ }
545
+ return isMilestoningParameter;
546
+ }
547
+
460
548
  get hashCode(): string {
461
549
  return hashArray([
462
550
  QUERY_BUILDER_STATE_HASH_STRUCTURE.MILESTONING_STATE,
@@ -21,6 +21,7 @@ import {
21
21
  type AbstractPropertyExpression,
22
22
  INTERNAL__PropagatedValue,
23
23
  PrimitiveType,
24
+ VariableExpression,
24
25
  } from '@finos/legend-graph';
25
26
  import {
26
27
  UnsupportedOperationError,
@@ -31,6 +32,7 @@ import { getParameterValue } from '../../components/QueryBuilderSideBar.js';
31
32
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../graph/QueryBuilderMetaModelConst.js';
32
33
  import { createSupportedFunctionExpression } from '../shared/ValueSpecificationEditorHelper.js';
33
34
  import { QueryBuilderMilestoningImplementation } from './QueryBuilderMilestoningImplementation.js';
35
+ import type { LambdaParameterState } from '../shared/LambdaParameterState.js';
34
36
 
35
37
  export class QueryBuilderProcessingTemporalMilestoningImplementation extends QueryBuilderMilestoningImplementation {
36
38
  getMilestoningDate(): ValueSpecification | undefined {
@@ -53,6 +55,17 @@ export class QueryBuilderProcessingTemporalMilestoningImplementation extends Que
53
55
  this.milestoningState.queryBuilderState.setShowParametersPanel(true);
54
56
  }
55
57
 
58
+ buildParameterStatesFromMilestoningParameters(): LambdaParameterState[] {
59
+ const state =
60
+ this.milestoningState.buildParameterStateFromMilestoningParameter(
61
+ this.milestoningState.processingDate &&
62
+ this.milestoningState.processingDate instanceof VariableExpression
63
+ ? this.milestoningState.processingDate.name
64
+ : PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
65
+ );
66
+ return state ? [state] : [];
67
+ }
68
+
56
69
  processGetAllParamaters(parameterValues: ValueSpecification[]): void {
57
70
  assertTrue(
58
71
  parameterValues.length === 2,
@@ -46,6 +46,7 @@ import {
46
46
  import {
47
47
  Randomizer,
48
48
  UnsupportedOperationError,
49
+ deepClone,
49
50
  returnUndefOnError,
50
51
  } from '@finos/legend-shared';
51
52
  import { generateDefaultValueForPrimitiveType } from '../QueryBuilderValueSpecificationHelper.js';
@@ -84,6 +85,16 @@ export const buildPrimitiveInstanceValue = (
84
85
  return instance;
85
86
  };
86
87
 
88
+ export const cloneValueSpecification = (
89
+ valueSpecification: ValueSpecification,
90
+ observerContext: ObserverContext,
91
+ ): ValueSpecification => {
92
+ const copy = deepClone(valueSpecification);
93
+ copy.genericType = valueSpecification.genericType;
94
+ copy.multiplicity = valueSpecification.multiplicity;
95
+ return copy;
96
+ };
97
+
87
98
  export const createMockPrimitiveValueSpecification = (
88
99
  primitiveType: PrimitiveType,
89
100
  graph: PureModel,
package/tsconfig.json CHANGED
@@ -236,7 +236,7 @@
236
236
  "./src/components/execution-plan/TempTableStrategyViewer.tsx",
237
237
  "./src/components/explorer/QueryBuilderExplorerPanel.tsx",
238
238
  "./src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx",
239
- "./src/components/explorer/QueryBuilderMilestoningEditor.tsx",
239
+ "./src/components/explorer/QueryBuilderMilestoningParameterEditor.tsx",
240
240
  "./src/components/explorer/QueryBuilderPropertySearchPanel.tsx",
241
241
  "./src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx",
242
242
  "./src/components/fetch-structure/QueryBuilderGraphFetchTreePanel.tsx",
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryBuilderMilestoningEditor.d.ts","sourceRoot":"","sources":["../../../src/components/explorer/QueryBuilderMilestoningEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAuQ3E,eAAO,MAAM,2BAA2B,WAC9B;IAAE,iBAAiB,EAAE,iBAAiB,CAAA;CAAE;;CAkFjD,CAAC"}
@@ -1,102 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- /**
3
- * Copyright (c) 2020-present, Goldman Sachs
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- import { observer } from 'mobx-react-lite';
18
- import { useCallback } from 'react';
19
- import { GenericType, GenericTypeExplicitReference, observe_PrimitiveInstanceValue, PrimitiveInstanceValue, PRIMITIVE_TYPE, PrimitiveType, } from '@finos/legend-graph';
20
- import { guaranteeNonNullable } from '@finos/legend-shared';
21
- import { useDrop } from 'react-dnd';
22
- import { Dialog, Modal, ModalBody, ModalFooter, ModalFooterButton, ModalHeader, PanelEntryDropZonePlaceholder, PanelFormBooleanField, PanelFormSection, } from '@finos/legend-art';
23
- import { generateDefaultValueForPrimitiveType } from '../../stores/QueryBuilderValueSpecificationHelper.js';
24
- import { BasicValueSpecificationEditor, QUERY_BUILDER_VARIABLE_DND_TYPE, } from '../shared/BasicValueSpecificationEditor.js';
25
- import { instanceValue_setValues } from '../../stores/shared/ValueSpecificationModifierHelper.js';
26
- import { VariableSelector } from '../shared/QueryBuilderVariableSelector.js';
27
- const MilestoningParameterEditor = observer((props) => {
28
- const { queryBuilderState, parameter, setParameter } = props;
29
- const handleDrop = useCallback((item) => {
30
- setParameter(item.variable);
31
- }, [setParameter]);
32
- const [{ isDragOver }, dropConnector] = useDrop(() => ({
33
- accept: [QUERY_BUILDER_VARIABLE_DND_TYPE],
34
- drop: (item, monitor) => {
35
- if (!monitor.didDrop()) {
36
- handleDrop(item);
37
- }
38
- },
39
- collect: (monitor) => ({
40
- isDragOver: monitor.isOver({
41
- shallow: true,
42
- }),
43
- }),
44
- }), [handleDrop]);
45
- const resetMilestoningParameter = () => {
46
- const param = observe_PrimitiveInstanceValue(new PrimitiveInstanceValue(GenericTypeExplicitReference.create(new GenericType(PrimitiveType.STRICTDATE))), queryBuilderState.observerContext);
47
- instanceValue_setValues(param, [generateDefaultValueForPrimitiveType(PRIMITIVE_TYPE.STRICTDATE)], queryBuilderState.observerContext);
48
- setParameter(param);
49
- };
50
- return (_jsx("div", { ref: dropConnector, className: "query-builder__variable-editor", children: _jsx(PanelEntryDropZonePlaceholder, { isDragOver: isDragOver, label: "Change Milestoning Parameter Value", children: _jsx(BasicValueSpecificationEditor, { valueSpecification: parameter, graph: queryBuilderState.graphManagerState.graph, obseverContext: queryBuilderState.observerContext, setValueSpecification: (val) => setParameter(val), typeCheckOption: {
51
- expectedType: PrimitiveType.DATE,
52
- }, resetValue: resetMilestoningParameter, isConstant: queryBuilderState.constantState.isValueSpecConstant(parameter) }) }) }));
53
- });
54
- const BiTemporalMilestoningEditor = observer((props) => {
55
- const { queryBuilderState } = props;
56
- return (_jsxs(_Fragment, { children: [_jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Processing Date" }), _jsx(MilestoningParameterEditor, { queryBuilderState: queryBuilderState, parameter: guaranteeNonNullable(queryBuilderState.milestoningState.processingDate), setParameter: (val) => queryBuilderState.milestoningState.setProcessingDate(val) })] }), _jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Business Date" }), _jsx(MilestoningParameterEditor, { queryBuilderState: queryBuilderState, parameter: guaranteeNonNullable(queryBuilderState.milestoningState.businessDate), setParameter: (val) => queryBuilderState.milestoningState.setBusinessDate(val) })] })] }));
57
- });
58
- const BusinessTemporalMilestoningEditor = observer((props) => {
59
- const { queryBuilderState } = props;
60
- return (_jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Business Date" }), _jsx(MilestoningParameterEditor, { queryBuilderState: queryBuilderState, parameter: guaranteeNonNullable(queryBuilderState.milestoningState.businessDate), setParameter: (val) => queryBuilderState.milestoningState.setBusinessDate(val) }, "BusinessDate")] }));
61
- });
62
- const ProcessingTemporalMilestoningEditor = observer((props) => {
63
- const { queryBuilderState } = props;
64
- return (_jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Processing Date" }), _jsx(MilestoningParameterEditor, { queryBuilderState: queryBuilderState, parameter: guaranteeNonNullable(queryBuilderState.milestoningState.processingDate), setParameter: (val) => queryBuilderState.milestoningState.setProcessingDate(val) }, "BusinessDate")] }));
65
- });
66
- const TemporalMilestoningEditor = (props) => {
67
- const { queryBuilderState } = props;
68
- if (queryBuilderState.milestoningState.processingDate &&
69
- queryBuilderState.milestoningState.businessDate) {
70
- return (_jsx(BiTemporalMilestoningEditor, { queryBuilderState: queryBuilderState }));
71
- }
72
- else if (queryBuilderState.milestoningState.businessDate) {
73
- return (_jsx(BusinessTemporalMilestoningEditor, { queryBuilderState: queryBuilderState }));
74
- }
75
- else if (queryBuilderState.milestoningState.processingDate) {
76
- return (_jsx(ProcessingTemporalMilestoningEditor, { queryBuilderState: queryBuilderState }));
77
- }
78
- else {
79
- return null;
80
- }
81
- };
82
- const AllVersionsInRangelMilestoningParametersEditor = observer((props) => {
83
- const { queryBuilderState } = props;
84
- return (_jsxs("div", { className: "query-builder__milestoning-panel__all-versions-in-range-editor", children: [_jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Start Date" }), _jsx(MilestoningParameterEditor, { queryBuilderState: queryBuilderState, parameter: guaranteeNonNullable(queryBuilderState.milestoningState.startDate), setParameter: (val) => queryBuilderState.milestoningState.setStartDate(val) })] }), _jsxs(PanelFormSection, { children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "End Date" }), _jsx(MilestoningParameterEditor, { queryBuilderState: queryBuilderState, parameter: guaranteeNonNullable(queryBuilderState.milestoningState.endDate), setParameter: (val) => queryBuilderState.milestoningState.setEndDate(val) })] })] }));
85
- });
86
- export const MilestoningParametersEditor = observer((props) => {
87
- const { queryBuilderState } = props;
88
- const applicationStore = queryBuilderState.applicationStore;
89
- const milestoningState = queryBuilderState.milestoningState;
90
- const close = () => milestoningState.setShowMilestoningEditor(false);
91
- const isCompatibleMilestoningParameter = (variable) => variable.genericType?.value.rawType.name === PRIMITIVE_TYPE.STRICTDATE ||
92
- variable.genericType?.value.rawType.name === PRIMITIVE_TYPE.LATESTDATE ||
93
- variable.genericType?.value.rawType.name === PRIMITIVE_TYPE.DATE ||
94
- variable.genericType?.value.rawType.name === PRIMITIVE_TYPE.DATETIME;
95
- return (_jsx(Dialog, { open: milestoningState.showMilestoningEditor, onClose: close, classes: {
96
- root: 'editor-modal__root-container',
97
- container: 'editor-modal__container',
98
- paper: 'editor-modal__content',
99
- }, children: _jsxs(Modal, { darkMode: !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled, className: "editor-modal query-builder__variables__modal", children: [_jsx(ModalHeader, { title: "Milestoning Parameters" }), _jsxs(ModalBody, { className: "query-builder__variables__modal__body", children: [milestoningState.isCurrentClassMilestoned && (_jsx(PanelFormBooleanField, { isReadOnly: false, value: milestoningState.isAllVersionsEnabled, name: "all Versions", prompt: "Query All Milestoned Versions of the Root Class", update: (value) => milestoningState.setAllVersions(value) })), milestoningState.isAllVersionsEnabled &&
100
- milestoningState.isCurrentClassSupportsVersionsInRange && (_jsxs(_Fragment, { children: [_jsx(PanelFormBooleanField, { isReadOnly: false, value: milestoningState.isAllVersionsInRangeEnabled, name: " All Versions In Range", prompt: "Optionally apply a date range to get All Versions for", update: (value) => milestoningState.setAllVersionsInRange(value) }), milestoningState.isAllVersionsInRangeEnabled && (_jsx(AllVersionsInRangelMilestoningParametersEditor, { queryBuilderState: queryBuilderState }))] })), _jsx(TemporalMilestoningEditor, { queryBuilderState: queryBuilderState }), _jsx(PanelFormSection, { children: _jsx("div", { className: "panel__content__form__section__header__label", children: "List of compatible milestoning parameters" }) }), _jsx("div", { className: "panel__content__form__section__list__items", children: _jsx(VariableSelector, { queryBuilderState: queryBuilderState, filterBy: isCompatibleMilestoningParameter }) })] }), _jsx(ModalFooter, { children: _jsx(ModalFooterButton, { text: "Close", onClick: close, type: "secondary" }) })] }) }));
101
- });
102
- //# sourceMappingURL=QueryBuilderMilestoningEditor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"QueryBuilderMilestoningEditor.js","sourceRoot":"","sources":["../../../src/components/explorer/QueryBuilderMilestoningEditor.tsx"],"names":[],"mappings":"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"}