@finos/legend-query-builder 4.14.47 → 4.14.49
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.
- package/lib/__lib__/QueryBuilderDocumentation.d.ts +3 -1
- package/lib/__lib__/QueryBuilderDocumentation.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderDocumentation.js +2 -0
- package/lib/__lib__/QueryBuilderDocumentation.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts +1 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +59 -46
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.d.ts +1 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.js +22 -22
- package/lib/components/QueryBuilderConstantExpressionPanel.js.map +1 -1
- package/lib/components/QueryBuilderDiffPanel.d.ts +2 -2
- package/lib/components/QueryBuilderDiffPanel.js +7 -6
- package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.js +29 -10
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +3 -3
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +14 -13
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts +2 -2
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +14 -24
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.d.ts +1 -1
- package/lib/components/QueryBuilderTextEditor.js +8 -7
- package/lib/components/QueryBuilderTextEditor.js.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js +4 -3
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
- package/lib/components/QueryChat.d.ts +1 -1
- package/lib/components/QueryChat.js +3 -2
- package/lib/components/QueryChat.js.map +1 -1
- package/lib/components/QueryLoader.d.ts +2 -2
- package/lib/components/QueryLoader.js +25 -24
- package/lib/components/QueryLoader.js.map +1 -1
- package/lib/components/QueryUsageViewer.d.ts +1 -1
- package/lib/components/QueryUsageViewer.js +4 -3
- package/lib/components/QueryUsageViewer.js.map +1 -1
- package/lib/components/ServiceQuerySetupUtils.js +4 -3
- package/lib/components/ServiceQuerySetupUtils.js.map +1 -1
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js +3 -2
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js.map +1 -1
- package/lib/components/data-access/DataAccessOverview.d.ts +1 -1
- package/lib/components/data-access/DataAccessOverview.js +17 -16
- package/lib/components/data-access/DataAccessOverview.js.map +1 -1
- package/lib/components/execution-plan/AllocationExecutionNodeViewer.js +4 -3
- package/lib/components/execution-plan/AllocationExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/ConstantExecutionNodeViewer.js +3 -2
- package/lib/components/execution-plan/ConstantExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/DataTypeResultTypeViewer.js +4 -3
- package/lib/components/execution-plan/DataTypeResultTypeViewer.js.map +1 -1
- package/lib/components/execution-plan/ExecutionPlanViewer.d.ts +3 -3
- package/lib/components/execution-plan/ExecutionPlanViewer.js +34 -33
- package/lib/components/execution-plan/ExecutionPlanViewer.js.map +1 -1
- package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.js +3 -2
- package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/ImplementationViewer.js +4 -3
- package/lib/components/execution-plan/ImplementationViewer.js.map +1 -1
- package/lib/components/execution-plan/PartialClassResultViewer.js +3 -2
- package/lib/components/execution-plan/PartialClassResultViewer.js.map +1 -1
- package/lib/components/execution-plan/RelationalClassQueryTempTableGraphFetchExecutionNodeViewer.js +6 -5
- package/lib/components/execution-plan/RelationalClassQueryTempTableGraphFetchExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/RelationalCrossRootQueryTempTableGraphFetchExecutionNodeViewer.js +7 -6
- package/lib/components/execution-plan/RelationalCrossRootQueryTempTableGraphFetchExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/RelationalRootQueryTempTableGraphFetchExecutionNodeViewer.js +6 -5
- package/lib/components/execution-plan/RelationalRootQueryTempTableGraphFetchExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/RelationalTDSInstantiationExecutionNodeViewer.js +4 -3
- package/lib/components/execution-plan/RelationalTDSInstantiationExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/ResultTypeViewer.js +5 -4
- package/lib/components/execution-plan/ResultTypeViewer.js.map +1 -1
- package/lib/components/execution-plan/SQLExecutionNodeViewer.js +7 -6
- package/lib/components/execution-plan/SQLExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/SequenceExecutionNodeViewer.js +6 -5
- package/lib/components/execution-plan/SequenceExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/StoreMappingGlobalGraphFetchExecutionNodeViewer.js +6 -5
- package/lib/components/execution-plan/StoreMappingGlobalGraphFetchExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/TDSResultTypeViewer.js +4 -3
- package/lib/components/execution-plan/TDSResultTypeViewer.js.map +1 -1
- package/lib/components/execution-plan/TempTableStrategyViewer.js +3 -2
- package/lib/components/execution-plan/TempTableStrategyViewer.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +31 -30
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +20 -19
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
- package/lib/components/explorer/{QueryBuilderMilestoningEditor.d.ts → QueryBuilderMilestoningParameterEditor.d.ts} +6 -3
- package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.d.ts.map +1 -0
- package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.js +53 -0
- package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.js.map +1 -0
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts +1 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +18 -17
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +9 -8
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +3 -3
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js +24 -23
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +4 -3
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +76 -54
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.d.ts +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js +3 -2
- package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +201 -29
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js +9 -8
- package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +55 -36
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.d.ts +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js +29 -28
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +20 -19
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.d.ts +2 -2
- package/lib/components/result/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.js +19 -17
- package/lib/components/result/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js +11 -10
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSResultShared.js +5 -4
- package/lib/components/result/tds/QueryBuilderTDSResultShared.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.d.ts +1 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js +9 -8
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +38 -37
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
- package/lib/components/shared/CustomDatePicker.js +21 -20
- package/lib/components/shared/CustomDatePicker.js.map +1 -1
- package/lib/components/shared/LambdaEditor.d.ts +2 -2
- package/lib/components/shared/LambdaEditor.js +14 -13
- package/lib/components/shared/LambdaEditor.js.map +1 -1
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts +1 -1
- package/lib/components/shared/LambdaParameterValuesEditor.js +7 -6
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -1
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js +4 -3
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -1
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js +10 -9
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -1
- package/lib/components/shared/QueryBuilderRootClassInfoTooltip.js +4 -3
- package/lib/components/shared/QueryBuilderRootClassInfoTooltip.js.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts +2 -2
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.js +15 -7
- package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -1
- package/lib/components/workflows/ClassQueryBuilder.js +6 -5
- package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
- package/lib/components/workflows/MappingQueryBuilder.js +6 -5
- package/lib/components/workflows/MappingQueryBuilder.js.map +1 -1
- package/lib/components/workflows/ServiceQueryBuilder.js +6 -5
- package/lib/components/workflows/ServiceQueryBuilder.js.map +1 -1
- package/lib/graph-manager/QueryBuilderConfig.d.ts +4 -0
- package/lib/graph-manager/QueryBuilderConfig.d.ts.map +1 -1
- package/lib/graph-manager/QueryBuilderConfig.js +5 -0
- package/lib/graph-manager/QueryBuilderConfig.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +2 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +3 -3
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/QueryLoaderState.d.ts +1 -0
- package/lib/stores/QueryLoaderState.d.ts.map +1 -1
- package/lib/stores/QueryLoaderState.js +1 -0
- package/lib/stores/QueryLoaderState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +8 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.js +4 -2
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js +13 -2
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js +8 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js +25 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts +5 -0
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js +62 -3
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js +8 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +1 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +7 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
- package/package.json +4 -4
- package/src/__lib__/QueryBuilderDocumentation.ts +2 -0
- package/src/components/QueryBuilder.tsx +44 -0
- package/src/components/QueryBuilderConstantExpressionPanel.tsx +13 -4
- package/src/components/QueryBuilderParametersPanel.tsx +55 -0
- package/src/components/QueryBuilderSideBar.tsx +0 -42
- package/src/components/explorer/QueryBuilderMilestoningParameterEditor.tsx +114 -0
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +143 -78
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +445 -19
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +134 -21
- package/src/components/result/QueryBuilderResultPanel.tsx +9 -1
- package/src/components/shared/QueryBuilderVariableSelector.tsx +22 -0
- package/src/graph-manager/QueryBuilderConfig.ts +6 -0
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +4 -1
- package/src/stores/QueryLoaderState.ts +1 -0
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +11 -0
- package/src/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.ts +6 -2
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +1 -0
- package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +1 -0
- package/src/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.ts +23 -0
- package/src/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.ts +13 -0
- package/src/stores/milestoning/QueryBuilderMilestoningHelper.ts +45 -0
- package/src/stores/milestoning/QueryBuilderMilestoningImplementation.ts +3 -0
- package/src/stores/milestoning/QueryBuilderMilestoningState.ts +95 -7
- package/src/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.ts +13 -0
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +11 -0
- package/tsconfig.json +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +0 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +0 -102
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +0 -1
- 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
|
-
?
|
|
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)
|
|
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
|
|
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
|
-
|
|
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
|
-
<
|
|
1361
|
-
className="query-builder__projection__result-modifier-
|
|
1465
|
+
<button
|
|
1466
|
+
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1362
1467
|
onClick={openResultSetModifierEditor}
|
|
1363
1468
|
>
|
|
1364
|
-
|
|
1365
|
-
|
|
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
|
-
<
|
|
1374
|
-
className="query-builder__projection__result-modifier-
|
|
1480
|
+
<button
|
|
1481
|
+
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1375
1482
|
onClick={openResultSetModifierEditor}
|
|
1376
1483
|
>
|
|
1377
|
-
|
|
1378
|
-
|
|
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
|
-
<
|
|
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
|
-
|
|
1394
|
-
|
|
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
|
-
<
|
|
1405
|
-
className="query-builder__projection__result-modifier-
|
|
1515
|
+
<button
|
|
1516
|
+
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1406
1517
|
onClick={openResultSetModifierEditor}
|
|
1407
1518
|
>
|
|
1408
|
-
|
|
1409
|
-
|
|
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 (
|
|
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
|
|
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 =
|
|
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],
|
|
@@ -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
|
}
|