@finos/legend-query-builder 0.1.2 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +1 -1
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderComponentTestUtils.d.ts.map +1 -1
- package/lib/components/QueryBuilderComponentTestUtils.js +1 -3
- package/lib/components/QueryBuilderComponentTestUtils.js.map +1 -1
- package/lib/components/QueryBuilderDiffPanel.js +1 -2
- 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 +8 -5
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -8
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +6 -4
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.js +2 -2
- package/lib/components/QueryBuilderTextEditor.js.map +1 -1
- package/lib/components/QueryBuilder_TestID.d.ts +1 -0
- package/lib/components/QueryBuilder_TestID.d.ts.map +1 -1
- package/lib/components/QueryBuilder_TestID.js +1 -0
- package/lib/components/QueryBuilder_TestID.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +2 -2
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +5 -4
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +4 -2
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +7 -4
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts +53 -0
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js +323 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -0
- package/lib/components/shared/CustomDatePicker.d.ts +39 -0
- package/lib/components/shared/CustomDatePicker.d.ts.map +1 -0
- package/lib/components/shared/CustomDatePicker.js +622 -0
- package/lib/components/shared/CustomDatePicker.js.map +1 -0
- package/lib/components/shared/LambdaEditor.d.ts +92 -0
- package/lib/components/shared/LambdaEditor.d.ts.map +1 -0
- package/lib/components/shared/LambdaEditor.js +432 -0
- package/lib/components/shared/LambdaEditor.js.map +1 -0
- package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts → components/shared/LambdaParameterValuesEditor.d.ts} +11 -3
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -0
- package/lib/components/shared/LambdaParameterValuesEditor.js +52 -0
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -0
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.js +3 -2
- package/lib/components/shared/QueryBuilderLambdaEditor.js.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +1 -2
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.d.ts → V1_QueryValueSpecificationBuilderHelper.d.ts} +3 -2
- package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.js → V1_QueryValueSpecificationBuilderHelper.js} +3 -2
- package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +7 -10
- package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderMilestoningState.js +6 -6
- package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderParametersState.js +1 -1
- package/lib/stores/QueryBuilderParametersState.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +35 -38
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +2 -1
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +2 -2
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +5 -5
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js +2 -1
- package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js +2 -2
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +23 -20
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +10 -9
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +4 -3
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.d.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.js → QueryBuilderGraphFetchTreeValueSpecificationBuilder.js} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +3 -3
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js +4 -4
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +6 -6
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.d.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts} +2 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.js → QueryBuilderAggregateOperatorValueSpecificationBuilder.js} +2 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -5
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -5
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js +2 -2
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +10 -10
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts +1 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +3 -46
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
- package/{src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts → lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts} +5 -13
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js +61 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.d.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.js → QueryBuilderFilterOperatorValueSpecificationBuilder.js} +11 -13
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +13 -11
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +6 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +4 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/shared/LambdaEditorState.d.ts +40 -0
- package/lib/stores/shared/LambdaEditorState.d.ts.map +1 -0
- package/lib/stores/shared/LambdaEditorState.js +81 -0
- package/lib/stores/shared/LambdaEditorState.js.map +1 -0
- package/lib/stores/shared/LambdaParameterState.d.ts +62 -0
- package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -0
- package/lib/stores/shared/LambdaParameterState.js +157 -0
- package/lib/stores/shared/LambdaParameterState.js.map +1 -0
- package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js → stores/shared/ValueSpecificationEditorHelper.d.ts} +5 -3
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +77 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts +33 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts.map +1 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.js +71 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.js.map +1 -0
- package/package.json +14 -17
- package/src/components/QueryBuilder.tsx +4 -1
- package/src/components/QueryBuilderComponentTestUtils.tsx +2 -2
- package/src/components/QueryBuilderDiffPanel.tsx +1 -1
- package/src/components/QueryBuilderParametersPanel.tsx +8 -7
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +15 -12
- package/src/components/QueryBuilderResultPanel.tsx +8 -6
- package/src/components/QueryBuilderTextEditor.tsx +2 -2
- package/src/components/QueryBuilder_TestID.ts +2 -0
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +2 -2
- package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +5 -3
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +6 -4
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +1 -1
- package/src/components/filter/QueryBuilderFilterPanel.tsx +9 -6
- package/src/components/shared/BasicValueSpecificationEditor.tsx +837 -0
- package/src/components/shared/CustomDatePicker.tsx +1363 -0
- package/src/components/shared/LambdaEditor.tsx +858 -0
- package/src/components/shared/LambdaParameterValuesEditor.tsx +121 -0
- package/src/components/shared/QueryBuilderLambdaEditor.tsx +5 -5
- package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +2 -2
- package/src/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.ts → V1_QueryValueSpecificationBuilderHelper.ts} +9 -1
- package/src/index.ts +11 -0
- package/src/stores/QueryBuilderMilestoningState.ts +7 -7
- package/src/stores/QueryBuilderParametersState.ts +4 -4
- package/src/stores/QueryBuilderPropertyEditorState.ts +49 -56
- package/src/stores/QueryBuilderResultState.ts +2 -4
- package/src/stores/QueryBuilderState.ts +5 -5
- package/src/stores/QueryBuilderStateBuilder.ts +1 -1
- package/src/stores/QueryBuilderTextEditorState.ts +2 -1
- package/src/stores/QueryBuilderValueSpecificationBuilder.ts +5 -2
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +30 -42
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +13 -8
- package/src/stores/explorer/QueryBuilderExplorerState.ts +12 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +1 -1
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +3 -3
- package/src/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts} +0 -1
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +3 -3
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +1 -1
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts +4 -4
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +6 -9
- package/src/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.ts} +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +5 -5
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +5 -5
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.ts +2 -2
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +12 -10
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +2 -86
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.ts +104 -0
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +8 -7
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +4 -4
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +2 -2
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +4 -4
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +3 -3
- package/src/stores/filter/operators/{QueryBuilderFilterOperatorHelper.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.ts} +10 -11
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +11 -10
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +3 -3
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +5 -5
- package/src/stores/shared/LambdaEditorState.ts +118 -0
- package/src/stores/shared/LambdaParameterState.ts +259 -0
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +143 -0
- package/src/stores/shared/ValueSpecificationModifierHelper.ts +177 -0
- package/tsconfig.json +14 -7
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +0 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +0 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +0 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.d.ts.map +0 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.js.map +0 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +0 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +0 -1
@@ -0,0 +1,121 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
|
17
|
+
import { useApplicationStore } from '@finos/legend-application';
|
18
|
+
import { Dialog } from '@finos/legend-art';
|
19
|
+
import {
|
20
|
+
type PureModel,
|
21
|
+
type ValueSpecification,
|
22
|
+
PRIMITIVE_TYPE,
|
23
|
+
type ObserverContext,
|
24
|
+
} from '@finos/legend-graph';
|
25
|
+
import { prettyCONSTName } from '@finos/legend-shared';
|
26
|
+
import { observer } from 'mobx-react-lite';
|
27
|
+
import type { LambdaParametersState } from '../../stores/shared/LambdaParameterState.js';
|
28
|
+
import { BasicValueSpecificationEditor } from './BasicValueSpecificationEditor.js';
|
29
|
+
|
30
|
+
// TODO we may want to further componentize this by removing the dialog wrapper
|
31
|
+
export const LambdaParameterValuesEditor = observer(
|
32
|
+
(props: {
|
33
|
+
graph: PureModel;
|
34
|
+
observerContext: ObserverContext;
|
35
|
+
lambdaParametersState: LambdaParametersState;
|
36
|
+
}) => {
|
37
|
+
const { lambdaParametersState, graph, observerContext } = props;
|
38
|
+
const valuesEdtiorState = lambdaParametersState.parameterValuesEditorState;
|
39
|
+
const close = (): void => valuesEdtiorState.close();
|
40
|
+
const applicationStore = useApplicationStore();
|
41
|
+
const submitAction = valuesEdtiorState.submitAction;
|
42
|
+
const submit = applicationStore.guardUnhandledError(async () => {
|
43
|
+
if (submitAction) {
|
44
|
+
close();
|
45
|
+
await submitAction.handler();
|
46
|
+
}
|
47
|
+
});
|
48
|
+
return (
|
49
|
+
<Dialog
|
50
|
+
open={Boolean(valuesEdtiorState.showModal)}
|
51
|
+
onClose={close}
|
52
|
+
classes={{
|
53
|
+
root: 'editor-modal__root-container',
|
54
|
+
container: 'editor-modal__container',
|
55
|
+
paper: 'editor-modal__content',
|
56
|
+
}}
|
57
|
+
>
|
58
|
+
<div className="modal modal--dark editor-modal lambda-parameter-values__modal">
|
59
|
+
<div className="modal__header">
|
60
|
+
<div className="modal__title">Set Parameter Values</div>
|
61
|
+
</div>
|
62
|
+
<div className="modal__body lambda-parameter-values__modal__body">
|
63
|
+
{lambdaParametersState.parameterStates.map((paramState) => {
|
64
|
+
const stringType = graph.getPrimitiveType(PRIMITIVE_TYPE.STRING);
|
65
|
+
const variableType = paramState.variableType ?? stringType;
|
66
|
+
return (
|
67
|
+
<div
|
68
|
+
key={paramState.uuid}
|
69
|
+
className="panel__content__form__section"
|
70
|
+
>
|
71
|
+
<div className="lambda-parameter-values__value__label">
|
72
|
+
<div className="lambda-parameter-values__value__label__name">
|
73
|
+
{paramState.parameter.name}
|
74
|
+
</div>
|
75
|
+
<div className="lambda-parameter-values__value__label__type">
|
76
|
+
{variableType.name}
|
77
|
+
</div>
|
78
|
+
</div>
|
79
|
+
{paramState.value && (
|
80
|
+
<BasicValueSpecificationEditor
|
81
|
+
valueSpecification={paramState.value}
|
82
|
+
setValueSpecification={(
|
83
|
+
val: ValueSpecification,
|
84
|
+
): void => {
|
85
|
+
paramState.setValue(val);
|
86
|
+
}}
|
87
|
+
graph={graph}
|
88
|
+
obseverContext={observerContext}
|
89
|
+
typeCheckOption={{
|
90
|
+
expectedType: variableType,
|
91
|
+
match:
|
92
|
+
variableType ===
|
93
|
+
graph.getPrimitiveType(PRIMITIVE_TYPE.DATETIME),
|
94
|
+
}}
|
95
|
+
className="query-builder__parameters__value__editor"
|
96
|
+
resetValue={(): void => paramState.mockParameterValue()}
|
97
|
+
/>
|
98
|
+
)}
|
99
|
+
</div>
|
100
|
+
);
|
101
|
+
})}
|
102
|
+
</div>
|
103
|
+
<div className="modal__footer">
|
104
|
+
{submitAction && (
|
105
|
+
<button
|
106
|
+
className="btn modal__footer__close-btn"
|
107
|
+
title={submitAction.label}
|
108
|
+
onClick={submit}
|
109
|
+
>
|
110
|
+
{prettyCONSTName(submitAction.label)}
|
111
|
+
</button>
|
112
|
+
)}
|
113
|
+
<button className="btn modal__footer__close-btn" onClick={close}>
|
114
|
+
Close
|
115
|
+
</button>
|
116
|
+
</div>
|
117
|
+
</div>
|
118
|
+
</Dialog>
|
119
|
+
);
|
120
|
+
},
|
121
|
+
);
|
@@ -20,12 +20,12 @@ import { type IKeyboardEvent, KeyCode } from 'monaco-editor';
|
|
20
20
|
import { useCallback, useMemo } from 'react';
|
21
21
|
import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
|
22
22
|
import type { Type } from '@finos/legend-graph';
|
23
|
+
import { useApplicationStore } from '@finos/legend-application';
|
24
|
+
import type { LambdaEditorState } from '../../stores/shared/LambdaEditorState.js';
|
23
25
|
import {
|
24
|
-
useApplicationStore,
|
25
|
-
LambdaEditor,
|
26
|
-
type LambdaEditorState,
|
27
26
|
type LambdaEditorOnKeyDownEventHandler,
|
28
|
-
|
27
|
+
LambdaEditor,
|
28
|
+
} from './LambdaEditor.js';
|
29
29
|
|
30
30
|
export const QueryBuilderLambdaEditor = observer(
|
31
31
|
(props: {
|
@@ -67,7 +67,7 @@ export const QueryBuilderLambdaEditor = observer(
|
|
67
67
|
} = props;
|
68
68
|
const applicationStore = useApplicationStore();
|
69
69
|
const backdropSetter = useCallback(
|
70
|
-
(val: boolean) => queryBuilderState.
|
70
|
+
(val: boolean) => queryBuilderState.setShowBackdrop(val),
|
71
71
|
[queryBuilderState],
|
72
72
|
);
|
73
73
|
const onKeyDownEventHandlers: LambdaEditorOnKeyDownEventHandler[] = useMemo(
|
@@ -21,7 +21,8 @@ import {
|
|
21
21
|
V1_buildGetAllFunctionExpression,
|
22
22
|
V1_buildGroupByFunctionExpression,
|
23
23
|
V1_buildProjectFunctionExpression,
|
24
|
-
|
24
|
+
V1_buildSubTypePropertyExpressionTypeInference,
|
25
|
+
} from './v1/V1_QueryValueSpecificationBuilderHelper.js';
|
25
26
|
import {
|
26
27
|
type V1_GraphBuilderContext,
|
27
28
|
type V1_ProcessingContext,
|
@@ -36,7 +37,6 @@ import {
|
|
36
37
|
extractElementNameFromPath,
|
37
38
|
V1_buildGenericFunctionExpression,
|
38
39
|
} from '@finos/legend-graph';
|
39
|
-
import { V1_buildSubTypePropertyExpressionTypeInference } from './v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js';
|
40
40
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../QueryBuilderSupportedFunctions.js';
|
41
41
|
|
42
42
|
export class QueryBuilder_PureProtocolProcessorPlugin extends PureProtocolProcessorPlugin {
|
@@ -28,6 +28,7 @@ import {
|
|
28
28
|
type V1_ValueSpecification,
|
29
29
|
type ValueSpecification,
|
30
30
|
type SimpleFunctionExpression,
|
31
|
+
type Type,
|
31
32
|
V1_buildBaseSimpleFunctionExpression,
|
32
33
|
V1_buildGenericFunctionExpression,
|
33
34
|
extractElementNameFromPath,
|
@@ -239,7 +240,7 @@ export const V1_buildExistsFunctionExpression = (
|
|
239
240
|
precedingExpression.genericType = guaranteeType(
|
240
241
|
precedingExpression,
|
241
242
|
AbstractPropertyExpression,
|
242
|
-
).func.genericType;
|
243
|
+
).func.value.genericType;
|
243
244
|
const lambda = parameters[1];
|
244
245
|
if (lambda instanceof V1_Lambda) {
|
245
246
|
lambda.parameters.forEach((variable): void => {
|
@@ -568,3 +569,10 @@ export const V1_buildGroupByFunctionExpression = (
|
|
568
569
|
);
|
569
570
|
return [expression, processedParams];
|
570
571
|
};
|
572
|
+
|
573
|
+
export const V1_buildSubTypePropertyExpressionTypeInference = (
|
574
|
+
inferredVariable: SimpleFunctionExpression,
|
575
|
+
): Type | undefined =>
|
576
|
+
inferredVariable.parametersValues.filter(
|
577
|
+
(param) => param instanceof InstanceValue,
|
578
|
+
)[0]?.genericType?.value.rawType;
|
package/src/index.ts
CHANGED
@@ -40,3 +40,14 @@ export type { MappingRuntimeCompatibilityAnalysisResult } from './graphManager/a
|
|
40
40
|
export * from './stores/ServiceInfo.js';
|
41
41
|
export * from './components/ServiceQuerySetupUtils.js';
|
42
42
|
export * from './components/QuerySetupUtils.js';
|
43
|
+
|
44
|
+
// ------------------------------------------- Shared components -------------------------------------------
|
45
|
+
|
46
|
+
export * from './components/shared/LambdaEditor.js';
|
47
|
+
export * from './components/shared/BasicValueSpecificationEditor.js';
|
48
|
+
export * from './components/shared/LambdaParameterValuesEditor.js';
|
49
|
+
|
50
|
+
export { LambdaEditorState } from './stores/shared/LambdaEditorState.js';
|
51
|
+
export * from './stores/shared/LambdaParameterState.js';
|
52
|
+
export * from './stores/shared/ValueSpecificationModifierHelper.js';
|
53
|
+
export * from './stores/shared/ValueSpecificationEditorHelper.js';
|
@@ -14,10 +14,9 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { LambdaParameterState } from '@finos/legend-application';
|
18
17
|
import {
|
19
|
-
|
20
|
-
|
18
|
+
BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
|
19
|
+
PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
|
21
20
|
GenericType,
|
22
21
|
GenericTypeExplicitReference,
|
23
22
|
getMilestoneTemporalStereotype,
|
@@ -32,6 +31,7 @@ import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
32
31
|
import { action, computed, makeObservable, observable } from 'mobx';
|
33
32
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../graphManager/QueryBuilderHashUtils.js';
|
34
33
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
34
|
+
import { LambdaParameterState } from './shared/LambdaParameterState.js';
|
35
35
|
|
36
36
|
export class QueryBuilderMilestoningState implements Hashable {
|
37
37
|
queryBuilderState: QueryBuilderState;
|
@@ -70,7 +70,7 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
70
70
|
case MILESTONING_STEREOTYPE.BUSINESS_TEMPORAL: {
|
71
71
|
this.setBusinessDate(
|
72
72
|
this.buildMilestoningParameter(
|
73
|
-
|
73
|
+
BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
|
74
74
|
),
|
75
75
|
);
|
76
76
|
break;
|
@@ -78,7 +78,7 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
78
78
|
case MILESTONING_STEREOTYPE.PROCESSING_TEMPORAL: {
|
79
79
|
this.setProcessingDate(
|
80
80
|
this.buildMilestoningParameter(
|
81
|
-
|
81
|
+
PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
|
82
82
|
),
|
83
83
|
);
|
84
84
|
break;
|
@@ -86,12 +86,12 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
86
86
|
case MILESTONING_STEREOTYPE.BITEMPORAL: {
|
87
87
|
this.setProcessingDate(
|
88
88
|
this.buildMilestoningParameter(
|
89
|
-
|
89
|
+
PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
|
90
90
|
),
|
91
91
|
);
|
92
92
|
this.setBusinessDate(
|
93
93
|
this.buildMilestoningParameter(
|
94
|
-
|
94
|
+
BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
|
95
95
|
),
|
96
96
|
);
|
97
97
|
break;
|
@@ -14,14 +14,14 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import {
|
18
|
-
LambdaParametersState,
|
19
|
-
type LambdaParameterState,
|
20
|
-
} from '@finos/legend-application';
|
21
17
|
import { type Hashable, hashArray } from '@finos/legend-shared';
|
22
18
|
import { observable, makeObservable, action, override } from 'mobx';
|
23
19
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../graphManager/QueryBuilderHashUtils.js';
|
24
20
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
21
|
+
import {
|
22
|
+
type LambdaParameterState,
|
23
|
+
LambdaParametersState,
|
24
|
+
} from './shared/LambdaParameterState.js';
|
25
25
|
|
26
26
|
export const QUERY_BUILDER_PARAMETER_DND_TYPE = 'PARAMETER';
|
27
27
|
|
@@ -50,18 +50,23 @@ import {
|
|
50
50
|
observe_AbstractPropertyExpression,
|
51
51
|
GenericTypeExplicitReference,
|
52
52
|
GenericType,
|
53
|
-
|
54
|
-
|
53
|
+
BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
|
54
|
+
PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
|
55
55
|
INTERNAL__PropagatedValue,
|
56
56
|
Association,
|
57
57
|
getGeneratedMilestonedPropertiesForAssociation,
|
58
|
+
PropertyExplicitReference,
|
58
59
|
} from '@finos/legend-graph';
|
59
60
|
import { generateDefaultValueForPrimitiveType } from './QueryBuilderValueSpecificationHelper.js';
|
60
61
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
61
|
-
import { functionExpression_setParametersValues } from '@finos/legend-application';
|
62
62
|
import type { QueryBuilderMilestoningState } from './QueryBuilderMilestoningState.js';
|
63
63
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../graphManager/QueryBuilderSupportedFunctions.js';
|
64
64
|
import { QUERY_BUILDER_HASH_STRUCTURE } from '../graphManager/QueryBuilderHashUtils.js';
|
65
|
+
import {
|
66
|
+
propertyExpression_setFunc,
|
67
|
+
functionExpression_setParametersValues,
|
68
|
+
instanceValue_setValues,
|
69
|
+
} from './shared/ValueSpecificationModifierHelper.js';
|
65
70
|
|
66
71
|
export const getDerivedPropertyMilestoningSteoreotype = (
|
67
72
|
property: DerivedProperty,
|
@@ -168,13 +173,13 @@ export const generateMilestonedPropertyParameterValue = (
|
|
168
173
|
derivedPropertyExpressionState.queryBuilderState.graphManagerState.graph,
|
169
174
|
);
|
170
175
|
const temporalTarget =
|
171
|
-
derivedPropertyExpressionState.propertyExpression.func.genericType
|
172
|
-
.rawType instanceof Class &&
|
173
|
-
derivedPropertyExpressionState.propertyExpression.func._OWNER
|
176
|
+
derivedPropertyExpressionState.propertyExpression.func.value.genericType
|
177
|
+
.value.rawType instanceof Class &&
|
178
|
+
derivedPropertyExpressionState.propertyExpression.func.value._OWNER
|
174
179
|
._generatedMilestonedProperties.length !== 0
|
175
180
|
? getMilestoneTemporalStereotype(
|
176
|
-
derivedPropertyExpressionState.propertyExpression.func.
|
177
|
-
.value.rawType,
|
181
|
+
derivedPropertyExpressionState.propertyExpression.func.value
|
182
|
+
.genericType.value.rawType,
|
178
183
|
derivedPropertyExpressionState.queryBuilderState.graphManagerState
|
179
184
|
.graph,
|
180
185
|
)
|
@@ -213,31 +218,27 @@ export const generateMilestonedPropertyParameterValue = (
|
|
213
218
|
if (!milestoningState.businessDate) {
|
214
219
|
milestoningState.setBusinessDate(
|
215
220
|
derivedPropertyExpressionState.queryBuilderState.milestoningState.buildMilestoningParameter(
|
216
|
-
|
221
|
+
BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
|
217
222
|
),
|
218
223
|
);
|
219
224
|
}
|
220
|
-
const parameter = new INTERNAL__PropagatedValue(
|
221
|
-
|
222
|
-
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
223
|
-
),
|
225
|
+
const parameter = new INTERNAL__PropagatedValue(() =>
|
226
|
+
guaranteeNonNullable(milestoningState.businessDate),
|
224
227
|
);
|
225
|
-
parameter.getValue = (): ValueSpecification =>
|
226
|
-
guaranteeNonNullable(milestoningState.businessDate);
|
227
228
|
return parameter;
|
228
229
|
}
|
229
230
|
case MILESTONING_STEREOTYPE.BITEMPORAL: {
|
230
231
|
if (!milestoningState.processingDate) {
|
231
232
|
milestoningState.setProcessingDate(
|
232
233
|
derivedPropertyExpressionState.queryBuilderState.milestoningState.buildMilestoningParameter(
|
233
|
-
|
234
|
+
PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
|
234
235
|
),
|
235
236
|
);
|
236
237
|
}
|
237
238
|
if (!milestoningState.businessDate) {
|
238
239
|
milestoningState.setBusinessDate(
|
239
240
|
derivedPropertyExpressionState.queryBuilderState.milestoningState.buildMilestoningParameter(
|
240
|
-
|
241
|
+
BUSINESS_DATE_MILESTONING_PROPERTY_NAME,
|
241
242
|
),
|
242
243
|
);
|
243
244
|
}
|
@@ -252,13 +253,9 @@ export const generateMilestonedPropertyParameterValue = (
|
|
252
253
|
AbstractPropertyExpression,
|
253
254
|
).parametersValues[1];
|
254
255
|
}
|
255
|
-
const parameter = new INTERNAL__PropagatedValue(
|
256
|
-
|
257
|
-
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
258
|
-
),
|
256
|
+
const parameter = new INTERNAL__PropagatedValue(() =>
|
257
|
+
guaranteeNonNullable(milestoningState.processingDate),
|
259
258
|
);
|
260
|
-
parameter.getValue = (): ValueSpecification =>
|
261
|
-
guaranteeNonNullable(milestoningState.processingDate);
|
262
259
|
return parameter;
|
263
260
|
} else {
|
264
261
|
if (
|
@@ -276,13 +273,9 @@ export const generateMilestonedPropertyParameterValue = (
|
|
276
273
|
AbstractPropertyExpression,
|
277
274
|
).parametersValues[1];
|
278
275
|
}
|
279
|
-
const parameter = new INTERNAL__PropagatedValue(
|
280
|
-
|
281
|
-
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
282
|
-
),
|
276
|
+
const parameter = new INTERNAL__PropagatedValue(() =>
|
277
|
+
guaranteeNonNullable(milestoningState.businessDate),
|
283
278
|
);
|
284
|
-
parameter.getValue = (): ValueSpecification =>
|
285
|
-
guaranteeNonNullable(milestoningState.businessDate);
|
286
279
|
return parameter;
|
287
280
|
}
|
288
281
|
}
|
@@ -290,17 +283,13 @@ export const generateMilestonedPropertyParameterValue = (
|
|
290
283
|
if (!milestoningState.processingDate) {
|
291
284
|
milestoningState.setProcessingDate(
|
292
285
|
derivedPropertyExpressionState.queryBuilderState.milestoningState.buildMilestoningParameter(
|
293
|
-
|
286
|
+
PROCESSING_DATE_MILESTONING_PROPERTY_NAME,
|
294
287
|
),
|
295
288
|
);
|
296
289
|
}
|
297
|
-
const parameter = new INTERNAL__PropagatedValue(
|
298
|
-
|
299
|
-
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
300
|
-
),
|
290
|
+
const parameter = new INTERNAL__PropagatedValue(() =>
|
291
|
+
guaranteeNonNullable(milestoningState.processingDate),
|
301
292
|
);
|
302
|
-
parameter.getValue = (): ValueSpecification =>
|
303
|
-
guaranteeNonNullable(milestoningState.processingDate);
|
304
293
|
return parameter;
|
305
294
|
}
|
306
295
|
default:
|
@@ -315,7 +304,7 @@ export const getPropertyChainName = (
|
|
315
304
|
const propertyNameDecorator = humanizePropertyName
|
316
305
|
? prettyPropertyName
|
317
306
|
: (val: string): string => val;
|
318
|
-
const chunks = [propertyNameDecorator(propertyExpression.func.name)];
|
307
|
+
const chunks = [propertyNameDecorator(propertyExpression.func.value.name)];
|
319
308
|
let currentExpression: ValueSpecification | undefined = propertyExpression;
|
320
309
|
while (currentExpression instanceof AbstractPropertyExpression) {
|
321
310
|
currentExpression = getNullableFirstElement(
|
@@ -341,7 +330,7 @@ export const getPropertyChainName = (
|
|
341
330
|
);
|
342
331
|
}
|
343
332
|
if (currentExpression instanceof AbstractPropertyExpression) {
|
344
|
-
chunks.unshift(propertyNameDecorator(currentExpression.func.name));
|
333
|
+
chunks.unshift(propertyNameDecorator(currentExpression.func.value.name));
|
345
334
|
}
|
346
335
|
}
|
347
336
|
const processedChunks: string[] = [];
|
@@ -367,14 +356,14 @@ export const getPropertyChainName = (
|
|
367
356
|
export const getPropertyPath = (
|
368
357
|
propertyExpression: AbstractPropertyExpression,
|
369
358
|
): string => {
|
370
|
-
const propertyNameChain = [propertyExpression.func.name];
|
359
|
+
const propertyNameChain = [propertyExpression.func.value.name];
|
371
360
|
let currentExpression: ValueSpecification | undefined = propertyExpression;
|
372
361
|
while (currentExpression instanceof AbstractPropertyExpression) {
|
373
362
|
currentExpression = getNullableFirstElement(
|
374
363
|
currentExpression.parametersValues,
|
375
364
|
);
|
376
365
|
if (currentExpression instanceof AbstractPropertyExpression) {
|
377
|
-
propertyNameChain.unshift(currentExpression.func.name);
|
366
|
+
propertyNameChain.unshift(currentExpression.func.value.name);
|
378
367
|
}
|
379
368
|
}
|
380
369
|
return propertyNameChain.join('.');
|
@@ -416,9 +405,9 @@ export const generateValueSpecificationForParameter = (
|
|
416
405
|
parameter.multiplicity,
|
417
406
|
);
|
418
407
|
if (type.name !== PRIMITIVE_TYPE.LATESTDATE) {
|
419
|
-
primitiveInstanceValue
|
408
|
+
instanceValue_setValues(primitiveInstanceValue, [
|
420
409
|
generateDefaultValueForPrimitiveType(type.name as PRIMITIVE_TYPE),
|
421
|
-
];
|
410
|
+
]);
|
422
411
|
}
|
423
412
|
return primitiveInstanceValue;
|
424
413
|
} else if (type instanceof Enumeration) {
|
@@ -430,7 +419,7 @@ export const generateValueSpecificationForParameter = (
|
|
430
419
|
const enumValueRef = EnumValueExplicitReference.create(
|
431
420
|
type.values[0] as Enum,
|
432
421
|
);
|
433
|
-
enumValueInstanceValue
|
422
|
+
instanceValue_setValues(enumValueInstanceValue, [enumValueRef]);
|
434
423
|
}
|
435
424
|
return enumValueInstanceValue;
|
436
425
|
}
|
@@ -506,7 +495,7 @@ export class QueryBuilderDerivedPropertyExpressionState {
|
|
506
495
|
);
|
507
496
|
this.queryBuilderState = queryBuilderState;
|
508
497
|
this.derivedProperty = guaranteeType(
|
509
|
-
propertyExpression.func,
|
498
|
+
propertyExpression.func.value,
|
510
499
|
DerivedProperty,
|
511
500
|
);
|
512
501
|
// build the parameters of the derived properties
|
@@ -525,7 +514,7 @@ export class QueryBuilderDerivedPropertyExpressionState {
|
|
525
514
|
}
|
526
515
|
|
527
516
|
get property(): AbstractProperty {
|
528
|
-
return this.propertyExpression.func;
|
517
|
+
return this.propertyExpression.func.value;
|
529
518
|
}
|
530
519
|
|
531
520
|
get parameterValues(): ValueSpecification[] {
|
@@ -620,29 +609,33 @@ export class QueryBuilderPropertyExpressionState implements Hashable {
|
|
620
609
|
while (currentExpression instanceof AbstractPropertyExpression) {
|
621
610
|
// Check if the property chain can results in column that have multiple values
|
622
611
|
if (
|
623
|
-
currentExpression.func.multiplicity.upperBound === undefined ||
|
624
|
-
currentExpression.func.multiplicity.upperBound > 1
|
612
|
+
currentExpression.func.value.multiplicity.upperBound === undefined ||
|
613
|
+
currentExpression.func.value.multiplicity.upperBound > 1
|
625
614
|
) {
|
626
615
|
requiresExistsHandling = true;
|
627
616
|
}
|
628
617
|
// check if the property is milestoned
|
629
618
|
if (
|
630
|
-
currentExpression.func.genericType.value.rawType instanceof
|
631
|
-
|
632
|
-
|
619
|
+
currentExpression.func.value.genericType.value.rawType instanceof
|
620
|
+
Class &&
|
621
|
+
currentExpression.func.value._OWNER._generatedMilestonedProperties
|
622
|
+
.length !== 0
|
633
623
|
) {
|
634
|
-
const name = currentExpression.func.name;
|
635
|
-
const
|
636
|
-
currentExpression.func._OWNER._generatedMilestonedProperties.find(
|
624
|
+
const name = currentExpression.func.value.name;
|
625
|
+
const property =
|
626
|
+
currentExpression.func.value._OWNER._generatedMilestonedProperties.find(
|
637
627
|
(e) => e.name === name,
|
638
628
|
);
|
639
|
-
if (
|
640
|
-
|
629
|
+
if (property) {
|
630
|
+
propertyExpression_setFunc(
|
631
|
+
currentExpression,
|
632
|
+
PropertyExplicitReference.create(property),
|
633
|
+
);
|
641
634
|
}
|
642
635
|
}
|
643
636
|
|
644
637
|
// Create states to hold derived properties' parameters and arguments for editing
|
645
|
-
if (currentExpression.func instanceof DerivedProperty) {
|
638
|
+
if (currentExpression.func.value instanceof DerivedProperty) {
|
646
639
|
const derivedPropertyExpressionState =
|
647
640
|
new QueryBuilderDerivedPropertyExpressionState(
|
648
641
|
this.queryBuilderState,
|
@@ -37,10 +37,8 @@ import {
|
|
37
37
|
buildRawLambdaFromLambdaFunction,
|
38
38
|
} from '@finos/legend-graph';
|
39
39
|
import { buildLambdaFunction } from './QueryBuilderValueSpecificationBuilder.js';
|
40
|
-
import {
|
41
|
-
|
42
|
-
ExecutionPlanState,
|
43
|
-
} from '@finos/legend-application';
|
40
|
+
import { ExecutionPlanState } from '@finos/legend-application';
|
41
|
+
import { buildParametersLetLambdaFunc } from './shared/LambdaParameterState.js';
|
44
42
|
|
45
43
|
const DEFAULT_LIMIT = 1000;
|
46
44
|
|
@@ -84,7 +84,7 @@ export abstract class QueryBuilderState {
|
|
84
84
|
observableContext: ObserverContext;
|
85
85
|
|
86
86
|
queryCompileState = ActionState.create();
|
87
|
-
|
87
|
+
showBackdrop = false;
|
88
88
|
showFunctionsExplorerPanel = false;
|
89
89
|
showParametersPanel = false;
|
90
90
|
|
@@ -109,7 +109,7 @@ export abstract class QueryBuilderState {
|
|
109
109
|
resultState: observable,
|
110
110
|
textEditorState: observable,
|
111
111
|
unsupportedQueryState: observable,
|
112
|
-
|
112
|
+
showBackdrop: observable,
|
113
113
|
showFunctionsExplorerPanel: observable,
|
114
114
|
showParametersPanel: observable,
|
115
115
|
changeDetectionState: observable,
|
@@ -121,7 +121,7 @@ export abstract class QueryBuilderState {
|
|
121
121
|
isQuerySupported: computed,
|
122
122
|
validationIssues: computed,
|
123
123
|
|
124
|
-
|
124
|
+
setShowBackdrop: action,
|
125
125
|
setShowFunctionsExplorerPanel: action,
|
126
126
|
setShowParametersPanel: action,
|
127
127
|
setClass: action,
|
@@ -185,8 +185,8 @@ export abstract class QueryBuilderState {
|
|
185
185
|
return true;
|
186
186
|
}
|
187
187
|
|
188
|
-
|
189
|
-
this.
|
188
|
+
setShowBackdrop(val: boolean): void {
|
189
|
+
this.showBackdrop = val;
|
190
190
|
}
|
191
191
|
|
192
192
|
setShowFunctionsExplorerPanel(val: boolean): void {
|
@@ -50,7 +50,6 @@ import {
|
|
50
50
|
type ValueSpecification,
|
51
51
|
} from '@finos/legend-graph';
|
52
52
|
import { processTDSPostFilterExpression } from './fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js';
|
53
|
-
import { LambdaParameterState } from '@finos/legend-application';
|
54
53
|
import { processFilterExpression } from './filter/QueryBuilderFilterStateBuilder.js';
|
55
54
|
import {
|
56
55
|
processTDSAggregateExpression,
|
@@ -70,6 +69,7 @@ import {
|
|
70
69
|
processTDSTakeExpression,
|
71
70
|
} from './fetch-structure/projection/QueryBuilderProjectionStateBuilder.js';
|
72
71
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../graphManager/QueryBuilderSupportedFunctions.js';
|
72
|
+
import { LambdaParameterState } from './shared/LambdaParameterState.js';
|
73
73
|
|
74
74
|
const processGetAllExpression = (
|
75
75
|
expression: SimpleFunctionExpression,
|
@@ -29,7 +29,8 @@ import {
|
|
29
29
|
} from '@finos/legend-shared';
|
30
30
|
import { observable, action, flow, makeObservable, flowResult } from 'mobx';
|
31
31
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
32
|
-
import {
|
32
|
+
import { TAB_SIZE } from '@finos/legend-application';
|
33
|
+
import { LambdaEditorState } from './shared/LambdaEditorState.js';
|
33
34
|
|
34
35
|
export class QueryBuilderRawLambdaState {
|
35
36
|
lambda: RawLambda;
|
@@ -32,11 +32,11 @@ import {
|
|
32
32
|
MILESTONING_STEREOTYPE,
|
33
33
|
} from '@finos/legend-graph';
|
34
34
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
35
|
-
import { buildParametersLetLambdaFunc } from '@finos/legend-application';
|
36
35
|
import { buildFilterExpression } from './filter/QueryBuilderFilterValueSpecificationBuilder.js';
|
37
36
|
import type { LambdaFunctionBuilderOption } from './QueryBuilderValueSpecificationBuilderHelper.js';
|
38
37
|
import type { QueryBuilderFetchStructureState } from './fetch-structure/QueryBuilderFetchStructureState.js';
|
39
38
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../graphManager/QueryBuilderSupportedFunctions.js';
|
39
|
+
import { buildParametersLetLambdaFunc } from './shared/LambdaParameterState.js';
|
40
40
|
|
41
41
|
const buildGetAllFunction = (
|
42
42
|
_class: Class,
|
@@ -82,7 +82,10 @@ export const buildLambdaFunction = (
|
|
82
82
|
CORE_PURE_PATH.ANY,
|
83
83
|
);
|
84
84
|
const lambdaFunction = new LambdaFunction(
|
85
|
-
new FunctionType(
|
85
|
+
new FunctionType(
|
86
|
+
PackageableElementExplicitReference.create(typeAny),
|
87
|
+
multiplicityOne,
|
88
|
+
),
|
86
89
|
);
|
87
90
|
|
88
91
|
// build getAll()
|