@finos/legend-query-builder 0.1.2 → 0.2.1
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/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()
|