@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
@@ -700,7 +700,7 @@ const QueryBuilderProjectionColumnEditor = observer(
700
700
  aggregateColumnState.operator instanceof
701
701
  QueryBuilderAggregateOperator_Percentile &&
702
702
  aggregateColumnState.operator.percentile !== undefined
703
- ? (aggregateColumnState.operator.percentile * 100).toString()
703
+ ? aggregateColumnState.operator.percentile.toString()
704
704
  : '',
705
705
  );
706
706
  const [acending, setAcending] = useState(
@@ -904,7 +904,7 @@ const QueryBuilderProjectionColumnEditor = observer(
904
904
  percentileOperator.setPercentile(undefined);
905
905
  } else {
906
906
  percentileOperator.setPercentile(
907
- Number(percentileValue) / 100,
907
+ Number(percentileValue),
908
908
  );
909
909
  }
910
910
  if (acending !== undefined && continuous !== undefined) {
@@ -1342,27 +1342,134 @@ export const QueryBuilderTDSPanel = observer(
1342
1342
  >
1343
1343
  <div className="query-builder__projection__result-modifier-prompt__header">
1344
1344
  <button
1345
- className="query-builder__projection__result-modifier-prompt__header__label"
1345
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1346
1346
  onClick={openResultSetModifierEditor}
1347
- title="Configure result set modifiers..."
1347
+ title="Configure Query Options..."
1348
1348
  >
1349
1349
  <CogIcon className="query-builder__projection__result-modifier-prompt__header__label__icon" />
1350
1350
  <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1351
- Query Options
1351
+ {tdsState.isQueryOptionsSet
1352
+ ? 'Query Options'
1353
+ : 'Set Query Options'}
1352
1354
  </div>
1353
1355
  </button>
1356
+ <div className="query-builder__projection__result-modifier-prompt__divider">
1357
+ {tdsState.isQueryOptionsSet && ' - '}
1358
+ </div>
1359
+ {tdsState.queryBuilderState.milestoningState
1360
+ .isAllVersionsEnabled &&
1361
+ !tdsState.queryBuilderState.milestoningState
1362
+ .isAllVersionsInRangeEnabled && (
1363
+ <div className="query-builder__projection__result-modifier-prompt__group">
1364
+ <div className="query-builder__projection__result-modifier-prompt__group__label">
1365
+ All Versions
1366
+ </div>
1367
+ <button
1368
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1369
+ onClick={openResultSetModifierEditor}
1370
+ >
1371
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1372
+ Yes
1373
+ </div>
1374
+ </button>
1375
+ </div>
1376
+ )}
1377
+ {tdsState.queryBuilderState.milestoningState
1378
+ .isAllVersionsInRangeEnabled &&
1379
+ tdsState.queryBuilderState.milestoningState.startDate &&
1380
+ tdsState.queryBuilderState.milestoningState.endDate && (
1381
+ <div className="query-builder__projection__result-modifier-prompt__group">
1382
+ <div className="query-builder__projection__result-modifier-prompt__group__label">
1383
+ All Versions
1384
+ </div>
1385
+ <button
1386
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1387
+ onClick={openResultSetModifierEditor}
1388
+ >
1389
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1390
+ (
1391
+ {getNameOfValueSpecification(
1392
+ tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
1393
+ tdsState.queryBuilderState.milestoningState
1394
+ .startDate,
1395
+ ) ??
1396
+ tdsState.queryBuilderState.milestoningState
1397
+ .startDate,
1398
+ tdsState.queryBuilderState,
1399
+ )}{' '}
1400
+ -{' '}
1401
+ {getNameOfValueSpecification(
1402
+ tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
1403
+ tdsState.queryBuilderState.milestoningState.endDate,
1404
+ ) ??
1405
+ tdsState.queryBuilderState.milestoningState.endDate,
1406
+ tdsState.queryBuilderState,
1407
+ )}
1408
+ )
1409
+ </div>
1410
+ </button>
1411
+ </div>
1412
+ )}
1413
+ {tdsState.queryBuilderState.milestoningState.businessDate && (
1414
+ <div className="query-builder__projection__result-modifier-prompt__group">
1415
+ <div className="query-builder__projection__result-modifier-prompt__group__label">
1416
+ Business Date
1417
+ </div>
1418
+ <button
1419
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1420
+ onClick={openResultSetModifierEditor}
1421
+ >
1422
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1423
+ {getNameOfValueSpecification(
1424
+ tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
1425
+ tdsState.queryBuilderState.milestoningState
1426
+ .businessDate,
1427
+ ) ??
1428
+ tdsState.queryBuilderState.milestoningState
1429
+ .businessDate,
1430
+ tdsState.queryBuilderState,
1431
+ )}
1432
+ </div>
1433
+ </button>
1434
+ </div>
1435
+ )}
1436
+ {tdsState.queryBuilderState.milestoningState.processingDate && (
1437
+ <div className="query-builder__projection__result-modifier-prompt__group">
1438
+ <div className="query-builder__projection__result-modifier-prompt__group__label">
1439
+ Processing Date
1440
+ </div>
1441
+ <button
1442
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1443
+ onClick={openResultSetModifierEditor}
1444
+ >
1445
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1446
+ {getNameOfValueSpecification(
1447
+ tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
1448
+ tdsState.queryBuilderState.milestoningState
1449
+ .processingDate,
1450
+ ) ??
1451
+ tdsState.queryBuilderState.milestoningState
1452
+ .processingDate,
1453
+ tdsState.queryBuilderState,
1454
+ )}
1455
+ </div>
1456
+ </button>
1457
+ </div>
1458
+ )}
1354
1459
  </div>
1355
1460
  {tdsState.resultSetModifierState.limit && (
1356
1461
  <div className="query-builder__projection__result-modifier-prompt__group">
1357
1462
  <div className="query-builder__projection__result-modifier-prompt__group__label">
1358
1463
  Max Rows
1359
1464
  </div>
1360
- <div
1361
- className="query-builder__projection__result-modifier-prompt__group__content"
1465
+ <button
1466
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1362
1467
  onClick={openResultSetModifierEditor}
1363
1468
  >
1364
- {tdsState.resultSetModifierState.limit}
1365
- </div>
1469
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1470
+ {tdsState.resultSetModifierState.limit}
1471
+ </div>
1472
+ </button>
1366
1473
  </div>
1367
1474
  )}
1368
1475
  {tdsState.resultSetModifierState.distinct && (
@@ -1370,12 +1477,14 @@ export const QueryBuilderTDSPanel = observer(
1370
1477
  <div className="query-builder__projection__result-modifier-prompt__group__label">
1371
1478
  Eliminate Duplicate Rows
1372
1479
  </div>
1373
- <div
1374
- className="query-builder__projection__result-modifier-prompt__group__content"
1480
+ <button
1481
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1375
1482
  onClick={openResultSetModifierEditor}
1376
1483
  >
1377
- Yes
1378
- </div>
1484
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1485
+ Yes
1486
+ </div>
1487
+ </button>
1379
1488
  </div>
1380
1489
  )}
1381
1490
  {tdsState.resultSetModifierState.sortColumns.length > 0 && (
@@ -1385,13 +1494,15 @@ export const QueryBuilderTDSPanel = observer(
1385
1494
  </div>
1386
1495
  {tdsState.resultSetModifierState.sortColumns.map(
1387
1496
  (columnState) => (
1388
- <div
1389
- className="query-builder__projection__result-modifier-prompt__group__content"
1497
+ <button
1390
1498
  key={columnState.columnState.uuid}
1499
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1391
1500
  onClick={openResultSetModifierEditor}
1392
1501
  >
1393
- {`${columnState.columnState.columnName} ${columnState.sortType}`}
1394
- </div>
1502
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1503
+ {`${columnState.columnState.columnName} ${columnState.sortType}`}
1504
+ </div>
1505
+ </button>
1395
1506
  ),
1396
1507
  )}
1397
1508
  </div>
@@ -1401,12 +1512,14 @@ export const QueryBuilderTDSPanel = observer(
1401
1512
  <div className="query-builder__projection__result-modifier-prompt__group__label">
1402
1513
  Slice
1403
1514
  </div>
1404
- <div
1405
- className="query-builder__projection__result-modifier-prompt__group__content"
1515
+ <button
1516
+ className="query-builder__projection__result-modifier-prompt__header__label editable-value"
1406
1517
  onClick={openResultSetModifierEditor}
1407
1518
  >
1408
- {`${tdsState.resultSetModifierState.slice[0]},${tdsState.resultSetModifierState.slice[1]}`}
1409
- </div>
1519
+ <div className="query-builder__projection__result-modifier-prompt__header__label__title">
1520
+ {`${tdsState.resultSetModifierState.slice[0]},${tdsState.resultSetModifierState.slice[1]}`}
1521
+ </div>
1522
+ </button>
1410
1523
  </div>
1411
1524
  )}
1412
1525
  {tdsState.queryBuilderState.watermarkState.value && (
@@ -204,7 +204,15 @@ export const QueryBuilderResultPanel = observer(
204
204
  const runQuery = (): void => {
205
205
  resultState.setSelectedCells([]);
206
206
  resultState.pressedRunQuery.inProgress();
207
- if (queryParametersState.parameterStates.length) {
207
+ if (
208
+ queryParametersState.parameterStates.length &&
209
+ queryParametersState.parameterStates.find(
210
+ (param) =>
211
+ !queryBuilderState.milestoningState.isMilestoningParameter(
212
+ param.parameter,
213
+ ),
214
+ )
215
+ ) {
208
216
  queryParametersState.parameterValuesEditorState.open(
209
217
  (): Promise<void> =>
210
218
  flowResult(resultState.runQuery()).catch(
@@ -149,6 +149,18 @@ export const VariableViewer = observer(
149
149
  const variableTypeName =
150
150
  variable.genericType?.value.rawType.name ??
151
151
  (isConstant ? CALCULATED : undefined);
152
+ const isMilestoningParameter =
153
+ queryBuilderState.milestoningState.isMilestoningParameter(variable);
154
+ const milestoningParameterValue =
155
+ queryBuilderState.milestoningState.getMilestoningParameterValue(variable);
156
+ const milestoningParameterValueString = isMilestoningParameter
157
+ ? milestoningParameterValue
158
+ ? getNameOfValueSpecification(
159
+ milestoningParameterValue,
160
+ queryBuilderState,
161
+ )
162
+ : undefined
163
+ : undefined;
152
164
  const deleteDisabled = isReadOnly || isVariableUsed;
153
165
  const deleteTitle = isVariableUsed ? 'Used in query' : 'Remove';
154
166
  const editVariable = (): void => {
@@ -227,6 +239,16 @@ export const VariableViewer = observer(
227
239
  <div className="query-builder__variables__variable__type__label">
228
240
  {variableTypeName ?? 'unknown'}
229
241
  </div>
242
+ {isMilestoningParameter && (
243
+ <>
244
+ <div className="query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning">
245
+ milestoning
246
+ </div>
247
+ <div className="query-builder__constants__value">
248
+ {milestoningParameterValueString}
249
+ </div>
250
+ </>
251
+ )}
230
252
  </div>
231
253
  )}
232
254
  </div>
@@ -28,10 +28,16 @@ export class QueryBuilderConfig {
28
28
  */
29
29
  TEMPORARY__enableGridEnterpriseMode = false;
30
30
 
31
+ /**
32
+ * This is the URL of the LegendAI service
33
+ */
34
+ legendAIServiceURL = '';
35
+
31
36
  static readonly serialization = new SerializationFactory(
32
37
  createModelSchema(QueryBuilderConfig, {
33
38
  TEMPORARY__disableQueryBuilderChat: optional(primitive()),
34
39
  TEMPORARY__enableGridEnterpriseMode: optional(primitive()),
40
+ legendAIServiceURL: optional(primitive()),
35
41
  }),
36
42
  );
37
43
  }
@@ -63,6 +63,7 @@ import {
63
63
  validateMilestoningPropertyExpressionChain,
64
64
  } from './milestoning/QueryBuilderMilestoningHelper.js';
65
65
  import { instanceValue_setValues } from './shared/ValueSpecificationModifierHelper.js';
66
+ import type { QueryBuilderState } from './QueryBuilderState.js';
66
67
 
67
68
  export const getNonCollectionValueSpecificationType = (
68
69
  valueSpecification: ValueSpecification,
@@ -239,7 +240,7 @@ export const isTypeCompatibleForAssignment = (
239
240
  // Pure function used for the operation
240
241
  // e.g. LHS(DateTime) = RHS(Date) -> we use isOnDay() instead of is()
241
242
  DATE_PRIMITIVE_TYPES.includes(type.path) ||
242
- type === assignmentType ||
243
+ type.path === assignmentType.path ||
243
244
  isSuperType(assignmentType, type))
244
245
  );
245
246
  };
@@ -329,6 +330,7 @@ export const buildGenericLambdaFunctionInstanceValue = (
329
330
  export const validatePropertyExpressionChain = (
330
331
  propertyExpression: AbstractPropertyExpression,
331
332
  graph: PureModel,
333
+ queryBuilderState: QueryBuilderState,
332
334
  ): void => {
333
335
  if (
334
336
  propertyExpression.func.value.genericType.value.rawType instanceof Class &&
@@ -355,6 +357,7 @@ export const validatePropertyExpressionChain = (
355
357
  sourceStereotype,
356
358
  targetStereotype,
357
359
  propertyExpression,
360
+ queryBuilderState,
358
361
  );
359
362
  }
360
363
  }
@@ -43,6 +43,7 @@ import type {
43
43
  } from './QueryBuilder_LegendApplicationPlugin_Extension.js';
44
44
 
45
45
  export const QUERY_LOADER_TYPEAHEAD_SEARCH_LIMIT = 50;
46
+ export const QUERY_LOADER_DEFAULT_QUERY_SEARCH_LIMIT = 10;
46
47
 
47
48
  export class QueryLoaderState {
48
49
  readonly applicationStore: GenericLegendApplicationStore;
@@ -147,6 +147,7 @@ export class QueryBuilderTDSState
147
147
  TEMPORARY__showPostFetchStructurePanel: computed,
148
148
  derivations: computed,
149
149
  hasParserError: computed,
150
+ isQueryOptionsSet: computed,
150
151
  addColumn: action,
151
152
  moveColumn: action,
152
153
  removeAllColumns: action,
@@ -361,6 +362,16 @@ export class QueryBuilderTDSState
361
362
  return fetchStructureValidationIssues;
362
363
  }
363
364
 
365
+ get isQueryOptionsSet(): boolean {
366
+ return (
367
+ this.resultSetModifierState.limit !== undefined ||
368
+ this.queryBuilderState.milestoningState.isMilestonedQuery ||
369
+ this.resultSetModifierState.slice !== undefined ||
370
+ this.resultSetModifierState.sortColumns.length > 0 ||
371
+ this.resultSetModifierState.distinct
372
+ );
373
+ }
374
+
364
375
  get tdsColumns(): QueryBuilderTDSColumnState[] {
365
376
  const aggregationStateCols = this.aggregationState.columns.map(
366
377
  (c) => c.projectionColumnState,
@@ -107,7 +107,9 @@ export class QueryBuilderAggregateOperator_Percentile
107
107
  variableName: string,
108
108
  graph: PureModel,
109
109
  ): ValueSpecification {
110
- const percentileValue = this.percentile ?? 0;
110
+ const percentileValue = this.percentile
111
+ ? Number((this.percentile / 100).toFixed(10))
112
+ : 0;
111
113
  const expression = new SimpleFunctionExpression(
112
114
  extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.PERCENTILE),
113
115
  );
@@ -193,7 +195,9 @@ export class QueryBuilderAggregateOperator_Percentile
193
195
  PrimitiveInstanceValue,
194
196
  `Can't process percentile() expression: percentile() expects arugment #2 to be a primitive instance value`,
195
197
  );
196
- currentOperator.percentile = percentile.values[0] as number;
198
+ currentOperator.percentile = parseFloat(
199
+ ((percentile.values[0] as number) * 100).toFixed(10),
200
+ );
197
201
 
198
202
  if (expression.parametersValues.length === 4) {
199
203
  const acending = guaranteeType(
@@ -159,6 +159,7 @@ export const processTDSProjectionColumnPropertyExpression = (
159
159
  validatePropertyExpressionChain(
160
160
  currentPropertyExpression,
161
161
  queryBuilderState.graphManagerState.graph,
162
+ queryBuilderState,
162
163
  );
163
164
  currentPropertyExpression = guaranteeNonNullable(
164
165
  currentPropertyExpression.parametersValues[0],
@@ -309,6 +309,7 @@ const processFilterTree = (
309
309
  validatePropertyExpressionChain(
310
310
  currentPropertyExpression,
311
311
  filterState.queryBuilderState.graphManagerState.graph,
312
+ filterState.queryBuilderState,
312
313
  );
313
314
  }
314
315
  }
@@ -23,18 +23,21 @@ import {
23
23
  MILESTONING_STEREOTYPE,
24
24
  INTERNAL__PropagatedValue,
25
25
  PrimitiveType,
26
+ VariableExpression,
26
27
  } from '@finos/legend-graph';
27
28
  import {
28
29
  UnsupportedOperationError,
29
30
  assertTrue,
30
31
  guaranteeNonNullable,
31
32
  guaranteeType,
33
+ isNonNullable,
32
34
  } from '@finos/legend-shared';
33
35
  import { getParameterValue } from '../../components/QueryBuilderSideBar.js';
34
36
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../graph/QueryBuilderMetaModelConst.js';
35
37
  import type { QueryBuilderDerivedPropertyExpressionState } from '../QueryBuilderPropertyEditorState.js';
36
38
  import { createSupportedFunctionExpression } from '../shared/ValueSpecificationEditorHelper.js';
37
39
  import { QueryBuilderMilestoningImplementation } from './QueryBuilderMilestoningImplementation.js';
40
+ import type { LambdaParameterState } from '../shared/LambdaParameterState.js';
38
41
 
39
42
  export class QueryBuilderBitemporalMilestoningImplementation extends QueryBuilderMilestoningImplementation {
40
43
  getMilestoningDate(index?: number): ValueSpecification | undefined {
@@ -70,6 +73,26 @@ export class QueryBuilderBitemporalMilestoningImplementation extends QueryBuilde
70
73
  this.milestoningState.queryBuilderState.setShowParametersPanel(true);
71
74
  }
72
75
 
76
+ buildParameterStatesFromMilestoningParameters(): LambdaParameterState[] {
77
+ const businessState =
78
+ this.milestoningState.buildParameterStateFromMilestoningParameter(
79
+ this.milestoningState.businessDate &&
80
+ this.milestoningState.businessDate instanceof VariableExpression
81
+ ? this.milestoningState.businessDate.name
82
+ : BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
83
+ );
84
+
85
+ const processingState =
86
+ this.milestoningState.buildParameterStateFromMilestoningParameter(
87
+ this.milestoningState.processingDate &&
88
+ this.milestoningState.processingDate instanceof VariableExpression
89
+ ? this.milestoningState.processingDate.name
90
+ : PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
91
+ );
92
+
93
+ return [businessState, processingState].filter(isNonNullable);
94
+ }
95
+
73
96
  processGetAllParamaters(parameterValues: ValueSpecification[]): void {
74
97
  assertTrue(
75
98
  parameterValues.length === 3,
@@ -22,6 +22,7 @@ import {
22
22
  MILESTONING_STEREOTYPE,
23
23
  INTERNAL__PropagatedValue,
24
24
  PrimitiveType,
25
+ VariableExpression,
25
26
  } from '@finos/legend-graph';
26
27
  import {
27
28
  UnsupportedOperationError,
@@ -32,6 +33,7 @@ import { getParameterValue } from '../../components/QueryBuilderSideBar.js';
32
33
  import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../graph/QueryBuilderMetaModelConst.js';
33
34
  import { createSupportedFunctionExpression } from '../shared/ValueSpecificationEditorHelper.js';
34
35
  import { QueryBuilderMilestoningImplementation } from './QueryBuilderMilestoningImplementation.js';
36
+ import type { LambdaParameterState } from '../shared/LambdaParameterState.js';
35
37
 
36
38
  export class QueryBuilderBusinessTemporalMilestoningImplementation extends QueryBuilderMilestoningImplementation {
37
39
  getMilestoningDate(): ValueSpecification | undefined {
@@ -54,6 +56,17 @@ export class QueryBuilderBusinessTemporalMilestoningImplementation extends Query
54
56
  this.milestoningState.queryBuilderState.setShowParametersPanel(true);
55
57
  }
56
58
 
59
+ buildParameterStatesFromMilestoningParameters(): LambdaParameterState[] {
60
+ const state =
61
+ this.milestoningState.buildParameterStateFromMilestoningParameter(
62
+ this.milestoningState.businessDate &&
63
+ this.milestoningState.businessDate instanceof VariableExpression
64
+ ? this.milestoningState.businessDate.name
65
+ : BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
66
+ );
67
+ return state ? [state] : [];
68
+ }
69
+
57
70
  processGetAllParamaters(parameterValues: ValueSpecification[]): void {
58
71
  assertTrue(
59
72
  parameterValues.length === 2,
@@ -294,6 +294,7 @@ export const validateMilestoningPropertyExpressionChain = (
294
294
  sourceStereotype: MILESTONING_STEREOTYPE | undefined,
295
295
  targetStereotype: MILESTONING_STEREOTYPE,
296
296
  propertyExpression: AbstractPropertyExpression,
297
+ queryBuilderState: QueryBuilderState,
297
298
  ): void => {
298
299
  if (
299
300
  sourceStereotype !== MILESTONING_STEREOTYPE.BITEMPORAL &&
@@ -316,10 +317,54 @@ export const validateMilestoningPropertyExpressionChain = (
316
317
  `Property of milestoning sterotype '${MILESTONING_STEREOTYPE.BITEMPORAL}' should not have more than two parameters`,
317
318
  );
318
319
  }
320
+ queryBuilderState.milestoningState.setProcessingDate(
321
+ propertyExpression.parametersValues[1],
322
+ );
323
+ queryBuilderState.milestoningState.setBusinessDate(
324
+ propertyExpression.parametersValues[2],
325
+ );
319
326
  } else if (propertyExpression.parametersValues.length !== 2) {
320
327
  throw new UnsupportedOperationError(
321
328
  `Property of milestoning sterotype '${targetStereotype}' should have exactly one parameter`,
322
329
  );
323
330
  }
331
+ if (targetStereotype === MILESTONING_STEREOTYPE.BUSINESS_TEMPORAL) {
332
+ queryBuilderState.milestoningState.setBusinessDate(
333
+ propertyExpression.parametersValues[1],
334
+ );
335
+ } else if (
336
+ targetStereotype === MILESTONING_STEREOTYPE.PROCESSING_TEMPORAL
337
+ ) {
338
+ queryBuilderState.milestoningState.setProcessingDate(
339
+ propertyExpression.parametersValues[1],
340
+ );
341
+ }
342
+ }
343
+ // we still need to do a loose milestoningState initialization for other cases e.g. the getAllVersion is used
344
+ else {
345
+ if (
346
+ propertyExpression.parametersValues.length === 3 &&
347
+ targetStereotype === MILESTONING_STEREOTYPE.BITEMPORAL
348
+ ) {
349
+ queryBuilderState.milestoningState.setProcessingDate(
350
+ propertyExpression.parametersValues[1],
351
+ );
352
+ queryBuilderState.milestoningState.setBusinessDate(
353
+ propertyExpression.parametersValues[2],
354
+ );
355
+ }
356
+ if (propertyExpression.parametersValues.length === 2) {
357
+ if (targetStereotype === MILESTONING_STEREOTYPE.BUSINESS_TEMPORAL) {
358
+ queryBuilderState.milestoningState.setBusinessDate(
359
+ propertyExpression.parametersValues[1],
360
+ );
361
+ } else if (
362
+ targetStereotype === MILESTONING_STEREOTYPE.PROCESSING_TEMPORAL
363
+ ) {
364
+ queryBuilderState.milestoningState.setProcessingDate(
365
+ propertyExpression.parametersValues[1],
366
+ );
367
+ }
368
+ }
324
369
  }
325
370
  };
@@ -22,6 +22,7 @@ import type {
22
22
  } from '@finos/legend-graph';
23
23
  import type { QueryBuilderDerivedPropertyExpressionState } from '../QueryBuilderPropertyEditorState.js';
24
24
  import type { QueryBuilderMilestoningState } from './QueryBuilderMilestoningState.js';
25
+ import type { LambdaParameterState } from '../shared/LambdaParameterState.js';
25
26
 
26
27
  export abstract class QueryBuilderMilestoningImplementation {
27
28
  milestoningState: QueryBuilderMilestoningState;
@@ -88,4 +89,6 @@ export abstract class QueryBuilderMilestoningImplementation {
88
89
  idx?: number,
89
90
  derivedPropertyExpressionState?: QueryBuilderDerivedPropertyExpressionState,
90
91
  ): ValueSpecification;
92
+
93
+ abstract buildParameterStatesFromMilestoningParameters(): LambdaParameterState[];
91
94
  }