@finos/legend-query-builder 4.14.34 → 4.14.36
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/__lib__/QueryBuilderTesting.d.ts +1 -0
- package/lib/__lib__/QueryBuilderTesting.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderTesting.js +1 -0
- package/lib/__lib__/QueryBuilderTesting.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +37 -17
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderConstantExpressionPanel.js +30 -13
- package/lib/components/QueryBuilderConstantExpressionPanel.js.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +2 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts +2 -18
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +32 -104
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/QueryLoader.js.map +1 -1
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.d.ts.map +1 -1
- package/lib/components/__test-utils__/QueryBuilderComponentTestUtils.js.map +1 -1
- package/lib/components/data-access/DataAccessOverview.js.map +1 -1
- package/lib/components/execution-plan/ConstantExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/DataTypeResultTypeViewer.js.map +1 -1
- package/lib/components/execution-plan/ExecutionPlanViewer.js.map +1 -1
- package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.d.ts.map +1 -1
- package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.js +1 -2
- package/lib/components/execution-plan/FunctionParametersValidationNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/ImplementationViewer.js.map +1 -1
- package/lib/components/execution-plan/ResultTypeViewer.js.map +1 -1
- package/lib/components/execution-plan/SQLExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/SequenceExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/StoreMappingGlobalGraphFetchExecutionNodeViewer.js.map +1 -1
- package/lib/components/execution-plan/TempTableStrategyViewer.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +2 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostTDSPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +50 -5
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSComponentHelper.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +2 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSWindowPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +2 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSResultShared.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts +0 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +62 -28
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
- package/lib/components/shared/CustomDatePicker.d.ts +1 -0
- package/lib/components/shared/CustomDatePicker.d.ts.map +1 -1
- package/lib/components/shared/CustomDatePicker.js +15 -10
- package/lib/components/shared/CustomDatePicker.js.map +1 -1
- package/lib/components/shared/LambdaEditor.js +1 -1
- package/lib/components/shared/LambdaEditor.js.map +1 -1
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -1
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts +1 -0
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.js +2 -2
- package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -1
- package/lib/components/workflows/ClassQueryBuilder.d.ts.map +1 -1
- package/lib/components/workflows/ClassQueryBuilder.js +19 -16
- package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
- package/lib/components/workflows/MappingQueryBuilder.d.ts.map +1 -1
- package/lib/components/workflows/MappingQueryBuilder.js +18 -15
- package/lib/components/workflows/MappingQueryBuilder.js.map +1 -1
- package/lib/components/workflows/ServiceQueryBuilder.d.ts.map +1 -1
- package/lib/components/workflows/ServiceQueryBuilder.js +13 -10
- package/lib/components/workflows/ServiceQueryBuilder.js.map +1 -1
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +16 -16
- package/lib/stores/QueryBuilderChangeDetectionState.js.map +1 -1
- package/lib/stores/QueryBuilderChangeHistoryState.js.map +1 -1
- package/lib/stores/QueryBuilderConstantsState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderConstantsState.js +2 -1
- package/lib/stores/QueryBuilderConstantsState.js.map +1 -1
- package/lib/stores/QueryBuilderGroupOperationHelper.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +14 -35
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +3 -0
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +15 -1
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +2 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +23 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts +13 -0
- package/lib/stores/QueryBuilder_LegendApplicationPlugin_Extension.d.ts.map +1 -1
- package/lib/stores/QueryLoaderState.js.map +1 -1
- package/lib/stores/__test-utils__/QueryBuilderStateTestUtils.js.map +1 -1
- package/lib/stores/data-access/DataAccessState.js.map +1 -1
- package/lib/stores/entitlements/QueryBuilderCheckEntitlementsState.js.map +1 -1
- package/lib/stores/execution-plan/ExecutionPlanState.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchState.js.map +1 -1
- package/lib/stores/explorer/QueryFunctionsExplorerState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +2 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +2 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +2 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +6 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +2 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +16 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregationStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterOperator.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts +3 -0
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js +42 -3
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +6 -5
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +6 -5
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +8 -37
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +7 -10
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +7 -10
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +6 -5
- package/lib/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuidler.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.d.ts +3 -0
- package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.js +30 -2
- package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +5 -4
- 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 +5 -4
- 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 +7 -35
- 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 +6 -8
- 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 +6 -8
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
- 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 +6 -8
- 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 +6 -8
- 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 +5 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/query-workflow/QueryBuilderWorkFlowState.d.ts +5 -0
- package/lib/stores/query-workflow/QueryBuilderWorkFlowState.d.ts.map +1 -1
- package/lib/stores/query-workflow/QueryBuilderWorkFlowState.js +7 -0
- package/lib/stores/query-workflow/QueryBuilderWorkFlowState.js.map +1 -1
- package/lib/stores/shared/LambdaEditorState.js.map +1 -1
- package/lib/stores/shared/LambdaParameterState.js.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +20 -10
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
- package/lib/stores/watermark/QueryBuilderWatermarkState.d.ts +0 -2
- package/lib/stores/watermark/QueryBuilderWatermarkState.d.ts.map +1 -1
- package/lib/stores/watermark/QueryBuilderWatermarkState.js +0 -6
- package/lib/stores/watermark/QueryBuilderWatermarkState.js.map +1 -1
- package/lib/stores/watermark/QueryBuilderWatermarkValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/workflows/ClassQueryBuilderState.js.map +1 -1
- package/lib/stores/workflows/MappingQueryBuilderState.d.ts +2 -2
- package/lib/stores/workflows/MappingQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/workflows/MappingQueryBuilderState.js +2 -1
- package/lib/stores/workflows/MappingQueryBuilderState.js.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.d.ts +2 -2
- package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.js +2 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
- package/package.json +24 -24
- package/src/__lib__/QueryBuilderTesting.ts +1 -0
- package/src/components/QueryBuilder.tsx +89 -46
- package/src/components/QueryBuilderConstantExpressionPanel.tsx +41 -19
- package/src/components/QueryBuilderParametersPanel.tsx +7 -7
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +2 -0
- package/src/components/QueryBuilderSideBar.tsx +138 -339
- package/src/components/execution-plan/FunctionParametersValidationNodeViewer.tsx +3 -2
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +4 -4
- package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +4 -4
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +8 -3
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +139 -1
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +21 -4
- package/src/components/fetch-structure/QueryBuilderTDSWindowPanel.tsx +4 -4
- package/src/components/filter/QueryBuilderFilterPanel.tsx +12 -6
- package/src/components/result/tds/QueryBuilderTDSResultShared.tsx +2 -2
- package/src/components/result/tds/QueryBuilderTDSSimpleGridResult.tsx +1 -1
- package/src/components/shared/BasicValueSpecificationEditor.tsx +96 -34
- package/src/components/shared/CustomDatePicker.tsx +30 -22
- package/src/components/shared/QueryBuilderVariableSelector.tsx +2 -2
- package/src/components/workflows/ClassQueryBuilder.tsx +79 -77
- package/src/components/workflows/MappingQueryBuilder.tsx +75 -76
- package/src/components/workflows/ServiceQueryBuilder.tsx +71 -70
- package/src/index.ts +2 -1
- package/src/stores/QueryBuilderConstantsState.ts +2 -0
- package/src/stores/QueryBuilderPropertyEditorState.ts +17 -56
- package/src/stores/QueryBuilderState.ts +23 -1
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +32 -0
- package/src/stores/QueryBuilder_LegendApplicationPlugin_Extension.ts +18 -0
- package/src/stores/explorer/QueryBuilderExplorerState.ts +2 -2
- package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +4 -0
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +8 -0
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +33 -0
- package/src/stores/fetch-structure/tds/post-filter/QueryBuilderPostFilterState.ts +59 -0
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +5 -5
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +5 -5
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +10 -69
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +7 -18
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +7 -18
- package/src/stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +5 -5
- package/src/stores/filter/QueryBuilderFilterState.ts +48 -2
- 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 +10 -71
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +6 -14
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +6 -14
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +6 -14
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +6 -14
- package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +5 -5
- package/src/stores/query-workflow/QueryBuilderWorkFlowState.ts +10 -0
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +32 -16
- package/src/stores/watermark/QueryBuilderWatermarkState.ts +0 -7
- package/src/stores/workflows/MappingQueryBuilderState.ts +7 -1
- package/src/stores/workflows/ServiceQueryBuilderState.ts +6 -1
- package/tsconfig.json +17 -2
- package/tsconfig.package.json +17 -1
- package/lib/components/watermark/QueryBuilderWatermark.d.ts +0 -22
- package/lib/components/watermark/QueryBuilderWatermark.d.ts.map +0 -1
- package/lib/components/watermark/QueryBuilderWatermark.js +0 -83
- package/lib/components/watermark/QueryBuilderWatermark.js.map +0 -1
- package/src/components/watermark/QueryBuilderWatermark.tsx +0 -218
@@ -14,7 +14,7 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import { CustomSelectorInput,
|
17
|
+
import { CustomSelectorInput, PanelHeader } from '@finos/legend-art';
|
18
18
|
import { observer } from 'mobx-react-lite';
|
19
19
|
import { getMappingCompatibleClasses, type Service } from '@finos/legend-graph';
|
20
20
|
import { useApplicationStore } from '@finos/legend-application';
|
@@ -55,7 +55,9 @@ const ServiceQueryBuilderSetupPanelContent = observer(
|
|
55
55
|
|
56
56
|
// execution context
|
57
57
|
const serviceOptions =
|
58
|
-
queryBuilderState.usableServices
|
58
|
+
queryBuilderState.usableServices
|
59
|
+
?.map(buildElementOption)
|
60
|
+
.sort((a, b) => a.label.localeCompare(b.label)) ?? [];
|
59
61
|
const selectedServiceOption = buildElementOption(queryBuilderState.service);
|
60
62
|
const onServiceOptionChange = (
|
61
63
|
option: PackageableElementOption<Service>,
|
@@ -67,9 +69,9 @@ const ServiceQueryBuilderSetupPanelContent = observer(
|
|
67
69
|
};
|
68
70
|
|
69
71
|
// execution context
|
70
|
-
const executionContextOptions = queryBuilderState.executionContexts
|
71
|
-
buildExecutionContextOption
|
72
|
-
|
72
|
+
const executionContextOptions = queryBuilderState.executionContexts
|
73
|
+
.map(buildExecutionContextOption)
|
74
|
+
.sort((a, b) => a.label.localeCompare(b.label));
|
73
75
|
const selectedExecutionContextOption =
|
74
76
|
queryBuilderState.selectedExecutionContext
|
75
77
|
? buildExecutionContextOption(
|
@@ -96,75 +98,74 @@ const ServiceQueryBuilderSetupPanelContent = observer(
|
|
96
98
|
: [];
|
97
99
|
|
98
100
|
return (
|
99
|
-
|
100
|
-
<
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
101
|
+
<div className="query-builder__setup__config-group">
|
102
|
+
<PanelHeader title="properties" />
|
103
|
+
<div className="query-builder__setup__config-group__content">
|
104
|
+
<div className="query-builder__setup__config-group__item">
|
105
|
+
<label
|
106
|
+
className="btn--sm query-builder__setup__config-group__item__label"
|
107
|
+
title="service"
|
108
|
+
htmlFor="query-builder__setup__service-selector"
|
109
|
+
>
|
110
|
+
Service
|
111
|
+
</label>
|
112
|
+
<CustomSelectorInput
|
113
|
+
inputId="query-builder__setup__service-selector"
|
114
|
+
className="panel__content__form__section__dropdown query-builder__setup__config-group__item__selector"
|
115
|
+
placeholder="Choose a service..."
|
116
|
+
options={serviceOptions}
|
117
|
+
disabled={
|
118
|
+
serviceOptions.length < 1 ||
|
119
|
+
(serviceOptions.length === 1 && Boolean(selectedServiceOption))
|
120
|
+
}
|
121
|
+
onChange={onServiceOptionChange}
|
122
|
+
value={selectedServiceOption}
|
123
|
+
darkMode={
|
124
|
+
!applicationStore.layoutService
|
125
|
+
.TEMPORARY__isLightColorThemeEnabled
|
126
|
+
}
|
127
|
+
/>
|
105
128
|
</div>
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
129
|
+
{/* We will display mapping and runtime selector for single-execution and execution context for multi-execution */}
|
130
|
+
{Boolean(queryBuilderState.executionContexts.length) && (
|
131
|
+
<>
|
132
|
+
<div className="query-builder__setup__config-group__item">
|
133
|
+
<label
|
134
|
+
className="btn--sm query-builder__setup__config-group__item__label"
|
135
|
+
title="execution context"
|
136
|
+
htmlFor="query-builder__setup__context-selector"
|
137
|
+
>
|
138
|
+
Context
|
139
|
+
</label>
|
140
|
+
<CustomSelectorInput
|
141
|
+
inputId="query-builder__setup__context-selector"
|
142
|
+
className="panel__content__form__section__dropdown query-builder__setup__config-group__item__selector"
|
143
|
+
placeholder="Choose an execution context..."
|
144
|
+
options={executionContextOptions}
|
145
|
+
disabled={
|
146
|
+
executionContextOptions.length < 1 ||
|
147
|
+
(executionContextOptions.length === 1 &&
|
148
|
+
Boolean(selectedExecutionContextOption))
|
149
|
+
}
|
150
|
+
onChange={onExecutionContextOptionChange}
|
151
|
+
value={selectedExecutionContextOption}
|
152
|
+
darkMode={
|
153
|
+
!applicationStore.layoutService
|
154
|
+
.TEMPORARY__isLightColorThemeEnabled
|
155
|
+
}
|
156
|
+
/>
|
113
157
|
</div>
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
}
|
123
|
-
onChange={onServiceOptionChange}
|
124
|
-
value={selectedServiceOption}
|
125
|
-
darkMode={
|
126
|
-
!applicationStore.layoutService
|
127
|
-
.TEMPORARY__isLightColorThemeEnabled
|
128
|
-
}
|
129
|
-
/>
|
130
|
-
</div>
|
131
|
-
{/* We will display mapping and runtime selector for single-execution and execution context for multi-execution */}
|
132
|
-
{Boolean(queryBuilderState.executionContexts.length) && (
|
133
|
-
<>
|
134
|
-
<div className="query-builder__setup__config-group__item">
|
135
|
-
<div
|
136
|
-
className="btn--sm query-builder__setup__config-group__item__label"
|
137
|
-
title="execution context"
|
138
|
-
>
|
139
|
-
<PlayIcon className="query-builder__setup__service__icon__execution-context" />
|
140
|
-
</div>
|
141
|
-
<CustomSelectorInput
|
142
|
-
className="panel__content__form__section__dropdown query-builder__setup__config-group__item__selector"
|
143
|
-
placeholder="Choose an execution context..."
|
144
|
-
options={executionContextOptions}
|
145
|
-
disabled={
|
146
|
-
executionContextOptions.length < 1 ||
|
147
|
-
(executionContextOptions.length === 1 &&
|
148
|
-
Boolean(selectedExecutionContextOption))
|
149
|
-
}
|
150
|
-
onChange={onExecutionContextOptionChange}
|
151
|
-
value={selectedExecutionContextOption}
|
152
|
-
darkMode={
|
153
|
-
!applicationStore.layoutService
|
154
|
-
.TEMPORARY__isLightColorThemeEnabled
|
155
|
-
}
|
156
|
-
/>
|
157
|
-
</div>
|
158
|
-
</>
|
159
|
-
)}
|
158
|
+
</>
|
159
|
+
)}
|
160
|
+
<div className="query-builder__setup__config-group__item">
|
161
|
+
<QueryBuilderClassSelector
|
162
|
+
queryBuilderState={queryBuilderState}
|
163
|
+
classes={classes}
|
164
|
+
noMatchMessage="No compatible entity found for specified execution context"
|
165
|
+
/>
|
160
166
|
</div>
|
161
167
|
</div>
|
162
|
-
|
163
|
-
queryBuilderState={queryBuilderState}
|
164
|
-
classes={classes}
|
165
|
-
noMatchMessage="No compatible class found for specified execution context"
|
166
|
-
/>
|
167
|
-
</>
|
168
|
+
</div>
|
168
169
|
);
|
169
170
|
},
|
170
171
|
);
|
package/src/index.ts
CHANGED
@@ -21,6 +21,7 @@ export * from './__lib__/QueryBuilderEvent.js';
|
|
21
21
|
export { QueryBuilder_GraphManagerPreset } from './graph-manager/QueryBuilder_GraphManagerPreset.js';
|
22
22
|
export { QueryBuilderConfig } from './graph-manager/QueryBuilderConfig.js';
|
23
23
|
export { QUERY_BUILDER_TEST_ID } from './__lib__/QueryBuilderTesting.js';
|
24
|
+
export { dragAndDrop } from './components/__test-utils__/QueryBuilderComponentTestUtils.js';
|
24
25
|
export {
|
25
26
|
type CheckEntitlementEditorRender,
|
26
27
|
QueryBuilder_LegendApplicationPlugin,
|
@@ -29,8 +30,8 @@ export { QueryBuilderNavigationBlocker } from './components/QueryBuilderNavigati
|
|
29
30
|
export { QueryBuilder } from './components/QueryBuilder.js';
|
30
31
|
export { QUERY_BUILDER_COMPONENT_ELEMENT_ID } from './components/QueryBuilderComponentElement.js';
|
31
32
|
export {
|
32
|
-
QueryBuilderState,
|
33
33
|
type QuerySDLC,
|
34
|
+
QueryBuilderState,
|
34
35
|
} from './stores/QueryBuilderState.js';
|
35
36
|
export {
|
36
37
|
getTDSColumnDerivedProperyFromType,
|
@@ -131,6 +131,8 @@ export class QueryBuilderSimpleConstantExpressionState
|
|
131
131
|
this.queryBuilderState.graphManagerState.graph,
|
132
132
|
type,
|
133
133
|
this.queryBuilderState.observerContext,
|
134
|
+
this.queryBuilderState
|
135
|
+
.INTERNAL__enableInitializingDefaultSimpleExpressionValue,
|
134
136
|
);
|
135
137
|
this.setValueSpec(valSpec);
|
136
138
|
} catch (error) {
|
@@ -26,17 +26,13 @@ import {
|
|
26
26
|
import {
|
27
27
|
Class,
|
28
28
|
type AbstractProperty,
|
29
|
-
type Enum,
|
30
29
|
type ValueSpecification,
|
31
30
|
type PureModel,
|
32
31
|
AbstractPropertyExpression,
|
33
32
|
DerivedProperty,
|
34
33
|
Enumeration,
|
35
|
-
EnumValueExplicitReference,
|
36
|
-
EnumValueInstanceValue,
|
37
34
|
InstanceValue,
|
38
35
|
PrimitiveInstanceValue,
|
39
|
-
type PRIMITIVE_TYPE,
|
40
36
|
VariableExpression,
|
41
37
|
SimpleFunctionExpression,
|
42
38
|
matchFunctionName,
|
@@ -50,7 +46,7 @@ import {
|
|
50
46
|
} from '@finos/legend-graph';
|
51
47
|
import {
|
52
48
|
createNullishValue,
|
53
|
-
|
49
|
+
isValidInstanceValue,
|
54
50
|
} from './QueryBuilderValueSpecificationHelper.js';
|
55
51
|
import type { QueryBuilderState } from './QueryBuilderState.js';
|
56
52
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../graph/QueryBuilderMetaModelConst.js';
|
@@ -58,9 +54,9 @@ import { QUERY_BUILDER_STATE_HASH_STRUCTURE } from './QueryBuilderStateHashUtils
|
|
58
54
|
import {
|
59
55
|
propertyExpression_setFunc,
|
60
56
|
functionExpression_setParametersValues,
|
61
|
-
instanceValue_setValues,
|
62
57
|
} from './shared/ValueSpecificationModifierHelper.js';
|
63
58
|
import { generateMilestonedPropertyParameterValue } from './milestoning/QueryBuilderMilestoningHelper.js';
|
59
|
+
import { buildDefaultInstanceValue } from './shared/ValueSpecificationEditorHelper.js';
|
64
60
|
|
65
61
|
export const getPropertyChainName = (
|
66
62
|
propertyExpression: AbstractPropertyExpression,
|
@@ -107,9 +103,8 @@ export const getPropertyChainName = (
|
|
107
103
|
processedChunks[processedChunks.length - 1],
|
108
104
|
);
|
109
105
|
if (latestProcessedChunk.startsWith(TYPE_CAST_TOKEN)) {
|
110
|
-
processedChunks[
|
111
|
-
|
112
|
-
] = `${latestProcessedChunk}${chunk}`;
|
106
|
+
processedChunks[processedChunks.length - 1] =
|
107
|
+
`${latestProcessedChunk}${chunk}`;
|
113
108
|
} else {
|
114
109
|
processedChunks.push(chunk);
|
115
110
|
}
|
@@ -142,44 +137,23 @@ export const getPropertyPath = (
|
|
142
137
|
export const generateValueSpecificationForParameter = (
|
143
138
|
parameter: VariableExpression,
|
144
139
|
graph: PureModel,
|
140
|
+
initializeDefaultValue: boolean,
|
145
141
|
observerContext: ObserverContext,
|
146
142
|
): ValueSpecification => {
|
147
143
|
if (parameter.genericType) {
|
148
144
|
const type = parameter.genericType.value.rawType;
|
149
|
-
if (type instanceof PrimitiveType) {
|
150
|
-
|
151
|
-
|
152
|
-
new GenericType(
|
153
|
-
// NOTE: since the default generated value for type Date is a StrictDate
|
154
|
-
// we need to adjust the generic type accordingly
|
155
|
-
// See https://github.com/finos/legend-studio/issues/1391
|
156
|
-
type === PrimitiveType.DATE ? PrimitiveType.STRICTDATE : type,
|
157
|
-
),
|
158
|
-
),
|
159
|
-
);
|
160
|
-
if (type !== PrimitiveType.LATESTDATE) {
|
161
|
-
instanceValue_setValues(
|
162
|
-
primitiveInstanceValue,
|
163
|
-
[generateDefaultValueForPrimitiveType(type.name as PRIMITIVE_TYPE)],
|
164
|
-
observerContext,
|
145
|
+
if (type instanceof PrimitiveType || type instanceof Enumeration) {
|
146
|
+
if (type === PrimitiveType.LATESTDATE) {
|
147
|
+
return new PrimitiveInstanceValue(
|
148
|
+
GenericTypeExplicitReference.create(new GenericType(type)),
|
165
149
|
);
|
166
150
|
}
|
167
|
-
return
|
168
|
-
|
169
|
-
|
170
|
-
|
151
|
+
return buildDefaultInstanceValue(
|
152
|
+
graph,
|
153
|
+
type,
|
154
|
+
observerContext,
|
155
|
+
initializeDefaultValue || parameter.multiplicity.lowerBound === 0,
|
171
156
|
);
|
172
|
-
if (type.values.length) {
|
173
|
-
const enumValueRef = EnumValueExplicitReference.create(
|
174
|
-
type.values[0] as Enum,
|
175
|
-
);
|
176
|
-
instanceValue_setValues(
|
177
|
-
enumValueInstanceValue,
|
178
|
-
[enumValueRef],
|
179
|
-
observerContext,
|
180
|
-
);
|
181
|
-
}
|
182
|
-
return enumValueInstanceValue;
|
183
157
|
}
|
184
158
|
}
|
185
159
|
// for arguments of types we don't support, we will fill them with `[]`
|
@@ -216,6 +190,8 @@ const fillDerivedPropertyParameterValues = (
|
|
216
190
|
parameter,
|
217
191
|
derivedPropertyExpressionState.queryBuilderState.graphManagerState
|
218
192
|
.graph,
|
193
|
+
derivedPropertyExpressionState.queryBuilderState
|
194
|
+
.INTERNAL__enableInitializingDefaultSimpleExpressionValue,
|
219
195
|
derivedPropertyExpressionState.queryBuilderState.observerContext,
|
220
196
|
),
|
221
197
|
);
|
@@ -285,22 +261,7 @@ export class QueryBuilderDerivedPropertyExpressionState {
|
|
285
261
|
// TODO: more type matching logic here (take into account multiplicity, type, etc.)
|
286
262
|
return this.parameterValues.every((paramValue) => {
|
287
263
|
if (paramValue instanceof InstanceValue) {
|
288
|
-
|
289
|
-
// required and no values provided. LatestDate doesn't have any values so we skip that check for it.
|
290
|
-
if (
|
291
|
-
isRequired &&
|
292
|
-
paramValue.genericType?.value.rawType !== PrimitiveType.LATESTDATE &&
|
293
|
-
!paramValue.values.length
|
294
|
-
) {
|
295
|
-
return false;
|
296
|
-
}
|
297
|
-
// more values than allowed
|
298
|
-
if (
|
299
|
-
paramValue.multiplicity.upperBound &&
|
300
|
-
paramValue.values.length > paramValue.multiplicity.upperBound
|
301
|
-
) {
|
302
|
-
return false;
|
303
|
-
}
|
264
|
+
return isValidInstanceValue(paramValue);
|
304
265
|
}
|
305
266
|
return true;
|
306
267
|
});
|
@@ -156,6 +156,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
156
156
|
isCalendarEnabled = false;
|
157
157
|
isQueryChatOpened = false;
|
158
158
|
isLocalModeEnabled = false;
|
159
|
+
INTERNAL__enableInitializingDefaultSimpleExpressionValue = false;
|
159
160
|
|
160
161
|
lambdaWriteMode = QUERY_BUILDER_LAMBDA_WRITER_MODE.STANDARD;
|
161
162
|
|
@@ -207,10 +208,12 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
207
208
|
isLocalModeEnabled: observable,
|
208
209
|
getAllFunction: observable,
|
209
210
|
lambdaWriteMode: observable,
|
211
|
+
INTERNAL__enableInitializingDefaultSimpleExpressionValue: observable,
|
210
212
|
|
211
213
|
sideBarClassName: computed,
|
212
214
|
isQuerySupported: computed,
|
213
215
|
allValidationIssues: computed,
|
216
|
+
canBuildQuery: computed,
|
214
217
|
|
215
218
|
setShowFunctionsExplorerPanel: action,
|
216
219
|
setShowParametersPanel: action,
|
@@ -222,6 +225,7 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
222
225
|
setIsLocalModeEnabled: action,
|
223
226
|
setGetAllFunction: action,
|
224
227
|
setLambdaWriteMode: action,
|
228
|
+
setINTERNAL__enableInitializingDefaultSimpleExpressionValue: action,
|
225
229
|
|
226
230
|
resetQueryResult: action,
|
227
231
|
resetQueryContent: action,
|
@@ -402,6 +406,12 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
402
406
|
this.getAllFunction = val;
|
403
407
|
}
|
404
408
|
|
409
|
+
setINTERNAL__enableInitializingDefaultSimpleExpressionValue(
|
410
|
+
val: boolean,
|
411
|
+
): void {
|
412
|
+
this.INTERNAL__enableInitializingDefaultSimpleExpressionValue = val;
|
413
|
+
}
|
414
|
+
|
405
415
|
get isQuerySupported(): boolean {
|
406
416
|
return !this.unsupportedQueryState.rawLambda;
|
407
417
|
}
|
@@ -802,7 +812,19 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
802
812
|
}
|
803
813
|
|
804
814
|
get allValidationIssues(): string[] {
|
805
|
-
return this.fetchStructureState.implementation.allValidationIssues
|
815
|
+
return this.fetchStructureState.implementation.allValidationIssues.concat(
|
816
|
+
this.filterState.allValidationIssues,
|
817
|
+
);
|
818
|
+
}
|
819
|
+
|
820
|
+
get canBuildQuery(): boolean {
|
821
|
+
return (
|
822
|
+
!this.filterState.hasInvalidFilterValues &&
|
823
|
+
!this.filterState.hasInvalidDerivedPropertyParameters &&
|
824
|
+
!this.fetchStructureState.implementation.hasInvalidFilterValues &&
|
825
|
+
!this.fetchStructureState.implementation
|
826
|
+
.hasInvalidDerivedPropertyParameters
|
827
|
+
);
|
806
828
|
}
|
807
829
|
|
808
830
|
/**
|
@@ -46,6 +46,7 @@ import {
|
|
46
46
|
INTERNAL__PropagatedValue,
|
47
47
|
isSubType,
|
48
48
|
type ObserverContext,
|
49
|
+
InstanceValue,
|
49
50
|
} from '@finos/legend-graph';
|
50
51
|
import {
|
51
52
|
addUniqueEntry,
|
@@ -130,6 +131,37 @@ export const getCollectionValueSpecificationType = (
|
|
130
131
|
return undefined;
|
131
132
|
};
|
132
133
|
|
134
|
+
export const isValidInstanceValue = (value: InstanceValue): boolean => {
|
135
|
+
const isRequired = value.multiplicity.lowerBound >= 1;
|
136
|
+
// required and no values provided. LatestDate doesn't have any values so we skip that check for it.
|
137
|
+
if (
|
138
|
+
isRequired &&
|
139
|
+
value.genericType?.value.rawType !== PrimitiveType.LATESTDATE &&
|
140
|
+
(!value.values.length ||
|
141
|
+
value.values.some((val) => val === null || val === undefined))
|
142
|
+
) {
|
143
|
+
return false;
|
144
|
+
}
|
145
|
+
// more values than allowed
|
146
|
+
if (
|
147
|
+
!(value instanceof CollectionInstanceValue) &&
|
148
|
+
value.multiplicity.upperBound &&
|
149
|
+
value.values.length > value.multiplicity.upperBound
|
150
|
+
) {
|
151
|
+
return false;
|
152
|
+
}
|
153
|
+
// collection instance with invalid values
|
154
|
+
if (
|
155
|
+
value instanceof CollectionInstanceValue &&
|
156
|
+
value.values.some(
|
157
|
+
(val) => val instanceof InstanceValue && !isValidInstanceValue(val),
|
158
|
+
)
|
159
|
+
) {
|
160
|
+
return false;
|
161
|
+
}
|
162
|
+
return true;
|
163
|
+
};
|
164
|
+
|
133
165
|
export const unwrapNotExpression = (
|
134
166
|
expression: SimpleFunctionExpression,
|
135
167
|
): SimpleFunctionExpression | undefined => {
|
@@ -75,6 +75,14 @@ export type TemplateQueryPanelContentRenderer = (
|
|
75
75
|
queryBuilderState: QueryBuilderState,
|
76
76
|
) => React.ReactNode;
|
77
77
|
|
78
|
+
export type QueryBuilderHeaderActionConfiguration = {
|
79
|
+
key: string;
|
80
|
+
category: number;
|
81
|
+
renderer: (
|
82
|
+
queryBuilderState: QueryBuilderState,
|
83
|
+
) => React.ReactNode | undefined;
|
84
|
+
};
|
85
|
+
|
78
86
|
export interface QueryBuilder_LegendApplicationPlugin_Extension
|
79
87
|
extends LegendApplicationPlugin {
|
80
88
|
/**
|
@@ -118,4 +126,14 @@ export interface QueryBuilder_LegendApplicationPlugin_Extension
|
|
118
126
|
* Get the list of template query panel content render
|
119
127
|
*/
|
120
128
|
getExtraTemplateQueryPanelContentRenderer?(): TemplateQueryPanelContentRenderer[];
|
129
|
+
|
130
|
+
/**
|
131
|
+
* Get the list of action configurations
|
132
|
+
*/
|
133
|
+
getExtraQueryBuilderHeaderActionConfigurations?(): QueryBuilderHeaderActionConfiguration[];
|
134
|
+
|
135
|
+
/**
|
136
|
+
* Get the list of action configurations
|
137
|
+
*/
|
138
|
+
getExtraQueryBuilderHeaderTitleConfigurations?(): QueryBuilderHeaderActionConfiguration[];
|
121
139
|
}
|
@@ -586,8 +586,8 @@ export const getQueryBuilderSubTypeNodeData = (
|
|
586
586
|
parentNode instanceof QueryBuilderExplorerTreePropertyNodeData
|
587
587
|
? parentNode.property.multiplicity
|
588
588
|
: parentNode instanceof QueryBuilderExplorerTreeSubTypeNodeData
|
589
|
-
|
590
|
-
|
589
|
+
? parentNode.multiplicity
|
590
|
+
: Multiplicity.ONE,
|
591
591
|
);
|
592
592
|
subTypeNode.childrenIds =
|
593
593
|
generateExplorerTreeClassNodeChildrenIDs(subTypeNode);
|
@@ -47,6 +47,8 @@ export abstract class QueryBuilderFetchStructureImplementationState
|
|
47
47
|
usedExplorerTreePropertyNodeIDs: computed,
|
48
48
|
fetchStructureValidationIssues: computed,
|
49
49
|
allValidationIssues: computed,
|
50
|
+
hasInvalidFilterValues: computed,
|
51
|
+
hasInvalidDerivedPropertyParameters: computed,
|
50
52
|
hashCode: computed,
|
51
53
|
});
|
52
54
|
|
@@ -75,6 +77,8 @@ export abstract class QueryBuilderFetchStructureImplementationState
|
|
75
77
|
): void;
|
76
78
|
abstract initialize(): void;
|
77
79
|
abstract initializeWithQuery(): void;
|
80
|
+
abstract get hasInvalidFilterValues(): boolean;
|
81
|
+
abstract get hasInvalidDerivedPropertyParameters(): boolean;
|
78
82
|
abstract get hashCode(): string;
|
79
83
|
|
80
84
|
get TEMPORARY__showPostFetchStructurePanel(): boolean {
|
@@ -529,6 +529,14 @@ export class QueryBuilderGraphFetchTreeState
|
|
529
529
|
);
|
530
530
|
}
|
531
531
|
|
532
|
+
get hasInvalidFilterValues(): boolean {
|
533
|
+
return false;
|
534
|
+
}
|
535
|
+
|
536
|
+
get hasInvalidDerivedPropertyParameters(): boolean {
|
537
|
+
return false;
|
538
|
+
}
|
539
|
+
|
532
540
|
get hashCode(): string {
|
533
541
|
return hashArray([
|
534
542
|
QUERY_BUILDER_STATE_HASH_STRUCTURE.GRAPH_FETCH_STATE,
|
@@ -149,6 +149,7 @@ export class QueryBuilderTDSState
|
|
149
149
|
addColumn: action,
|
150
150
|
moveColumn: action,
|
151
151
|
removeAllColumns: action,
|
152
|
+
removeColumn: action,
|
152
153
|
replaceColumn: action,
|
153
154
|
initialize: action,
|
154
155
|
initializeWithQuery: action,
|
@@ -328,6 +329,20 @@ export class QueryBuilderTDSState
|
|
328
329
|
if (hasNoProjectionColumns) {
|
329
330
|
validationIssues.push('Query has no projection columns');
|
330
331
|
}
|
332
|
+
|
333
|
+
this.projectionColumns.forEach((column) => {
|
334
|
+
if (
|
335
|
+
column instanceof QueryBuilderSimpleProjectionColumnState &&
|
336
|
+
column.propertyExpressionState.derivedPropertyExpressionStates.some(
|
337
|
+
(p) => !p.isValid,
|
338
|
+
)
|
339
|
+
) {
|
340
|
+
validationIssues.push(
|
341
|
+
`Derived property parameter value for ${column.propertyExpressionState.title} is missing`,
|
342
|
+
);
|
343
|
+
}
|
344
|
+
});
|
345
|
+
|
331
346
|
return validationIssues;
|
332
347
|
}
|
333
348
|
|
@@ -335,6 +350,7 @@ export class QueryBuilderTDSState
|
|
335
350
|
const fetchStructureValidationIssues = [
|
336
351
|
...this.fetchStructureValidationIssues,
|
337
352
|
...this.windowState.windowValidationIssues,
|
353
|
+
...this.postFilterState.allValidationIssues,
|
338
354
|
];
|
339
355
|
|
340
356
|
return fetchStructureValidationIssues;
|
@@ -785,6 +801,23 @@ export class QueryBuilderTDSState
|
|
785
801
|
return Boolean(usedInProjection ?? usedInPostFilter);
|
786
802
|
}
|
787
803
|
|
804
|
+
get hasInvalidFilterValues(): boolean {
|
805
|
+
return (
|
806
|
+
this.postFilterState.hasInvalidFilterValues ||
|
807
|
+
this.postFilterState.hasInvalidDerivedPropertyParameters
|
808
|
+
);
|
809
|
+
}
|
810
|
+
|
811
|
+
get hasInvalidDerivedPropertyParameters(): boolean {
|
812
|
+
return this.projectionColumns.some(
|
813
|
+
(column) =>
|
814
|
+
column instanceof QueryBuilderSimpleProjectionColumnState &&
|
815
|
+
column.propertyExpressionState.derivedPropertyExpressionStates.some(
|
816
|
+
(p) => !p.isValid,
|
817
|
+
),
|
818
|
+
);
|
819
|
+
}
|
820
|
+
|
788
821
|
get hashCode(): string {
|
789
822
|
return hashArray([
|
790
823
|
QUERY_BUILDER_STATE_HASH_STRUCTURE.PROJECTION_STATE,
|
@@ -25,6 +25,7 @@ import {
|
|
25
25
|
observe_ValueSpecification,
|
26
26
|
PrimitiveType,
|
27
27
|
CollectionInstanceValue,
|
28
|
+
InstanceValue,
|
28
29
|
} from '@finos/legend-graph';
|
29
30
|
import {
|
30
31
|
type GeneratorFn,
|
@@ -59,6 +60,7 @@ import {
|
|
59
60
|
QueryBuilderProjectionColumnState,
|
60
61
|
type QueryBuilderProjectionColumnDragSource,
|
61
62
|
QueryBuilderDerivationProjectionColumnState,
|
63
|
+
QueryBuilderSimpleProjectionColumnState,
|
62
64
|
} from '../projection/QueryBuilderProjectionColumnState.js';
|
63
65
|
import {
|
64
66
|
buildProjectionColumnTypeaheadQuery,
|
@@ -72,6 +74,7 @@ import type { QueryBuilderTDSColumnState } from '../QueryBuilderTDSColumnState.j
|
|
72
74
|
import {
|
73
75
|
getCollectionValueSpecificationType,
|
74
76
|
getNonCollectionValueSpecificationType,
|
77
|
+
isValidInstanceValue,
|
75
78
|
isValueExpressionReferencedInValue,
|
76
79
|
} from '../../../QueryBuilderValueSpecificationHelper.js';
|
77
80
|
import { buildtdsPropertyExpressionFromColState } from './operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js';
|
@@ -604,6 +607,9 @@ export class QueryBuilderPostFilterState
|
|
604
607
|
replaceBlankNodeWithNode: action,
|
605
608
|
setRearrangingConditions: action,
|
606
609
|
setDerivedColumnBeingDropped: action,
|
610
|
+
allValidationIssues: computed,
|
611
|
+
hasInvalidFilterValues: computed,
|
612
|
+
hasInvalidDerivedPropertyParameters: computed,
|
607
613
|
hashCode: computed,
|
608
614
|
});
|
609
615
|
|
@@ -986,6 +992,59 @@ export class QueryBuilderPostFilterState
|
|
986
992
|
);
|
987
993
|
}
|
988
994
|
|
995
|
+
get allValidationIssues(): string[] {
|
996
|
+
const validationIssues: string[] = [];
|
997
|
+
Array.from(this.nodes.values()).forEach((node) => {
|
998
|
+
if (node instanceof QueryBuilderPostFilterTreeConditionNodeData) {
|
999
|
+
if (
|
1000
|
+
node.condition.rightConditionValue instanceof
|
1001
|
+
PostFilterValueSpecConditionValueState &&
|
1002
|
+
node.condition.rightConditionValue.value instanceof InstanceValue &&
|
1003
|
+
!isValidInstanceValue(node.condition.rightConditionValue.value) &&
|
1004
|
+
node.condition.leftConditionValue instanceof
|
1005
|
+
QueryBuilderSimpleProjectionColumnState
|
1006
|
+
) {
|
1007
|
+
validationIssues.push(
|
1008
|
+
`Filter value for ${node.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`,
|
1009
|
+
);
|
1010
|
+
}
|
1011
|
+
if (
|
1012
|
+
node.condition.leftConditionValue instanceof
|
1013
|
+
QueryBuilderSimpleProjectionColumnState &&
|
1014
|
+
!node.condition.leftConditionValue.propertyExpressionState.isValid
|
1015
|
+
) {
|
1016
|
+
validationIssues.push(
|
1017
|
+
`Derived property parameter value for ${node.condition.leftConditionValue.propertyExpressionState.title} is missing or invalid`,
|
1018
|
+
);
|
1019
|
+
}
|
1020
|
+
}
|
1021
|
+
});
|
1022
|
+
return validationIssues;
|
1023
|
+
}
|
1024
|
+
|
1025
|
+
get hasInvalidFilterValues(): boolean {
|
1026
|
+
return Array.from(this.nodes.values()).some(
|
1027
|
+
(node) =>
|
1028
|
+
node instanceof QueryBuilderPostFilterTreeConditionNodeData &&
|
1029
|
+
node.condition.rightConditionValue instanceof
|
1030
|
+
PostFilterValueSpecConditionValueState &&
|
1031
|
+
node.condition.rightConditionValue.value instanceof InstanceValue &&
|
1032
|
+
!isValidInstanceValue(node.condition.rightConditionValue.value) &&
|
1033
|
+
node.condition.leftConditionValue instanceof
|
1034
|
+
QueryBuilderSimpleProjectionColumnState,
|
1035
|
+
);
|
1036
|
+
}
|
1037
|
+
|
1038
|
+
get hasInvalidDerivedPropertyParameters(): boolean {
|
1039
|
+
return Array.from(this.nodes.values()).some(
|
1040
|
+
(node) =>
|
1041
|
+
node instanceof QueryBuilderPostFilterTreeConditionNodeData &&
|
1042
|
+
node.condition.leftConditionValue instanceof
|
1043
|
+
QueryBuilderSimpleProjectionColumnState &&
|
1044
|
+
!node.condition.leftConditionValue.propertyExpressionState.isValid,
|
1045
|
+
);
|
1046
|
+
}
|
1047
|
+
|
989
1048
|
get hashCode(): string {
|
990
1049
|
return hashArray([
|
991
1050
|
QUERY_BUILDER_STATE_HASH_STRUCTURE.POST_FILTER_STATE,
|