@finos/legend-application-query 5.2.2 → 5.2.5
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/application/LegendQueryApplicationConfig.d.ts +0 -2
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +0 -2
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/components/LegendQueryApplication.d.ts.map +1 -1
- package/lib/components/LegendQueryApplication.js +5 -15
- package/lib/components/LegendQueryApplication.js.map +1 -1
- package/lib/components/LegendQueryBaseStoreProvider.d.ts.map +1 -1
- package/lib/components/LegendQueryBaseStoreProvider.js +1 -3
- package/lib/components/LegendQueryBaseStoreProvider.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +16 -9
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParameterPanel.js +1 -1
- package/lib/components/QueryBuilderParameterPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +2 -2
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +8 -8
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderSetupPanel.js +1 -1
- package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.js +1 -1
- package/lib/components/QueryBuilderTextEditor.js.map +1 -1
- package/lib/components/QueryEditorComponentTestUtils.d.ts +0 -2
- package/lib/components/QueryEditorComponentTestUtils.d.ts.map +1 -1
- package/lib/components/QueryEditorComponentTestUtils.js +2 -5
- package/lib/components/QueryEditorComponentTestUtils.js.map +1 -1
- package/lib/components/QueryEditorStoreProvider.d.ts.map +1 -1
- package/lib/components/QueryEditorStoreProvider.js +3 -7
- package/lib/components/QueryEditorStoreProvider.js.map +1 -1
- package/lib/components/QuerySetupStoreProvider.d.ts.map +1 -1
- package/lib/components/QuerySetupStoreProvider.js +1 -3
- package/lib/components/QuerySetupStoreProvider.js.map +1 -1
- package/lib/components/{QueryBuilderExplorerPanel.d.ts → explorer/QueryBuilderExplorerPanel.d.ts} +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderExplorerPanel.js → explorer/QueryBuilderExplorerPanel.js} +12 -47
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -0
- package/lib/components/{QueryBuilderFunctionsExplorerPanel.d.ts → explorer/QueryBuilderFunctionsExplorerPanel.d.ts} +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderFunctionsExplorerPanel.js → explorer/QueryBuilderFunctionsExplorerPanel.js} +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -0
- package/lib/components/{QueryBuilderMilestoneEditor.d.ts → explorer/QueryBuilderMilestoneEditor.d.ts} +1 -1
- package/lib/components/explorer/QueryBuilderMilestoneEditor.d.ts.map +1 -0
- package/lib/components/{QueryBuilderMilestoneEditor.js → explorer/QueryBuilderMilestoneEditor.js} +3 -3
- package/lib/components/explorer/QueryBuilderMilestoneEditor.js.map +1 -0
- package/lib/components/{QueryBuilderPropertySearchPanel.d.ts → explorer/QueryBuilderPropertySearchPanel.d.ts} +1 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderPropertySearchPanel.js → explorer/QueryBuilderPropertySearchPanel.js} +5 -5
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -0
- package/lib/components/{QueryBuilderFetchStructurePanel.d.ts → fetch-structure/QueryBuilderFetchStructurePanel.d.ts} +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderFetchStructurePanel.js → fetch-structure/QueryBuilderFetchStructurePanel.js} +15 -12
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -0
- package/lib/components/{QueryBuilderGraphFetchTreePanel.d.ts → fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts} +3 -3
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderGraphFetchTreePanel.js → fetch-structure/QueryBuilderGraphFetchTreePanel.js} +4 -4
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -0
- package/lib/components/{QueryBuilderPostFilterPanel.d.ts → fetch-structure/QueryBuilderPostFilterPanel.d.ts} +3 -3
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderPostFilterPanel.js → fetch-structure/QueryBuilderPostFilterPanel.js} +20 -18
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -0
- package/lib/components/{QueryBuilderProjectionPanel.d.ts → fetch-structure/QueryBuilderProjectionPanel.d.ts} +1 -1
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderProjectionPanel.js → fetch-structure/QueryBuilderProjectionPanel.js} +11 -11
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -0
- package/lib/components/{QueryBuilderResultModifierPanel.d.ts → fetch-structure/QueryBuilderResultModifierPanel.d.ts} +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderResultModifierPanel.js → fetch-structure/QueryBuilderResultModifierPanel.js} +9 -6
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -0
- package/lib/components/{QueryBuilderFilterPanel.d.ts → filter/QueryBuilderFilterPanel.d.ts} +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -0
- package/lib/components/{QueryBuilderFilterPanel.js → filter/QueryBuilderFilterPanel.js} +10 -9
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -0
- package/lib/components/{QueryBuilderLambdaEditor.d.ts → shared/QueryBuilderLambdaEditor.d.ts} +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -0
- package/lib/components/{QueryBuilderLambdaEditor.js → shared/QueryBuilderLambdaEditor.js} +0 -0
- package/lib/components/shared/QueryBuilderLambdaEditor.js.map +1 -0
- package/lib/components/{QueryBuilderPanelIssueCountBadge.d.ts → shared/QueryBuilderPanelIssueCountBadge.d.ts} +0 -0
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -0
- package/lib/components/{QueryBuilderPanelIssueCountBadge.js → shared/QueryBuilderPanelIssueCountBadge.js} +0 -0
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -0
- package/lib/components/{QueryBuilderPropertyInfoTooltip.d.ts → shared/QueryBuilderPropertyInfoTooltip.d.ts} +0 -0
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -0
- package/lib/components/{QueryBuilderPropertyInfoTooltip.js → shared/QueryBuilderPropertyInfoTooltip.js} +0 -0
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +0 -4
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +0 -4
- package/lib/index.js.map +1 -1
- package/lib/package.json +9 -10
- package/lib/stores/LegendQueryBaseStore.d.ts +2 -4
- package/lib/stores/LegendQueryBaseStore.d.ts.map +1 -1
- package/lib/stores/LegendQueryBaseStore.js +1 -5
- package/lib/stores/LegendQueryBaseStore.js.map +1 -1
- package/lib/stores/QueryBuilderGroupOperationHelper.d.ts +22 -0
- package/lib/stores/QueryBuilderGroupOperationHelper.d.ts.map +1 -0
- package/lib/stores/QueryBuilderGroupOperationHelper.js +43 -0
- package/lib/stores/QueryBuilderGroupOperationHelper.js.map +1 -0
- package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPreviewDataHelper.js +16 -17
- package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +5 -4
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +1 -1
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +9 -16
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +19 -33
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderTestUtils.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTestUtils.js +2 -1
- package/lib/stores/QueryBuilderTestUtils.js.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.d.ts +7 -7
- package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.js +23 -28
- package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
- package/lib/stores/{QueryBuilderLambdaBuilder.d.ts → QueryBuilderValueSpecificationBuilder.d.ts} +1 -3
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderLambdaBuilder.js → QueryBuilderValueSpecificationBuilder.js} +179 -190
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/{QueryBuilderOperatorsHelper.d.ts → QueryBuilderValueSpecificationHelper.d.ts} +5 -9
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderOperatorsHelper.js → QueryBuilderValueSpecificationHelper.js} +38 -30
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -0
- package/lib/stores/{QueryBuilderLambdaProcessor.d.ts → QueryBuilderValueSpecificationProcessor.d.ts} +1 -1
- package/lib/stores/QueryBuilderValueSpecificationProcessor.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderLambdaProcessor.js → QueryBuilderValueSpecificationProcessor.js} +16 -14
- package/lib/stores/QueryBuilderValueSpecificationProcessor.js.map +1 -0
- package/lib/stores/QueryEditorStore.d.ts +4 -6
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +7 -9
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/QueryEditorStoreTestUtils.d.ts.map +1 -1
- package/lib/stores/QueryEditorStoreTestUtils.js +0 -1
- package/lib/stores/QueryEditorStoreTestUtils.js.map +1 -1
- package/lib/stores/QuerySetupStore.d.ts +1 -3
- package/lib/stores/QuerySetupStore.d.ts.map +1 -1
- package/lib/stores/QuerySetupStore.js +1 -3
- package/lib/stores/QuerySetupStore.js.map +1 -1
- package/lib/stores/{QueryBuilderExplorerState.d.ts → explorer/QueryBuilderExplorerState.d.ts} +3 -2
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderExplorerState.js → explorer/QueryBuilderExplorerState.js} +77 -3
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -0
- package/lib/stores/{QueryBuilderPropertySearchPanelState.d.ts → explorer/QueryBuilderPropertySearchPanelState.d.ts} +2 -2
- package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderPropertySearchPanelState.js → explorer/QueryBuilderPropertySearchPanelState.js} +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.js.map +1 -0
- package/lib/stores/{QueryFunctionsExplorerState.d.ts → explorer/QueryFunctionsExplorerState.d.ts} +1 -1
- package/lib/stores/explorer/QueryFunctionsExplorerState.d.ts.map +1 -0
- package/lib/stores/{QueryFunctionsExplorerState.js → explorer/QueryFunctionsExplorerState.js} +0 -0
- package/lib/stores/explorer/QueryFunctionsExplorerState.js.map +1 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +23 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +24 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -0
- package/lib/stores/{QueryBuilderFetchStructureState.d.ts → fetch-structure/QueryBuilderFetchStructureState.d.ts} +11 -7
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +116 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -0
- package/lib/stores/{QueryBuilderGraphFetchTreeState.d.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts} +6 -5
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderGraphFetchTreeState.js → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js} +17 -17
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -0
- package/lib/stores/{QueryBuilderGraphFetchTreeUtil.d.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts} +2 -2
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderGraphFetchTreeUtil.js → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts +19 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js +49 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/{QueryBuilderProjectionState.d.ts → fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts} +6 -34
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +187 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +59 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +203 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts +21 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +73 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/{QueryResultSetModifierState.d.ts → fetch-structure/projection/QueryResultSetModifierState.d.ts} +5 -14
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js +77 -0
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts +32 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js +36 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.d.ts +18 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.js +38 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.js.map +1 -0
- package/lib/stores/{QueryBuilderAggregationState.d.ts → fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts} +4 -15
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderAggregationState.js → fetch-structure/projection/aggregation/QueryBuilderAggregationState.js} +2 -21
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperatorHelper.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperatorHelper.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Average.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Average.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Count.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Count.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Distinct.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Distinct.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_DistinctCount.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_DistinctCount.js +4 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_JoinString.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_JoinString.js +4 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Max.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Max.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Min.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Min.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Population.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → 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 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → 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 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Sum.d.ts +3 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -0
- package/lib/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Sum.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -0
- package/lib/stores/{QueryBuilderPostFilterOperator.d.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts} +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderPostFilterOperator.js → fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js} +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts +18 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.js +44 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.js.map +1 -0
- package/lib/stores/{QueryBuilderPostFilterState.d.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts} +6 -6
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderPostFilterState.js → fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js} +18 -15
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +19 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +82 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/{QueryBuilderPostFilterProcessor.d.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.d.ts} +2 -5
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderPostFilterProcessor.js → fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.js} +13 -11
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperatorHelper.d.ts +2 -2
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperatorHelper.js +5 -5
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Contain.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Contain.js +7 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_EndWith.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_EndWith.js +7 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Equal.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Equal.js +11 -12
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThan.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThan.js +8 -9
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThanEqual.js +2 -2
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_In.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_In.js +8 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_IsEmpty.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_IsEmpty.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThan.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThan.js +8 -9
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThanEqual.js +2 -2
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_StartWith.d.ts +0 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -0
- package/lib/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_StartWith.js +7 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -0
- package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +27 -0
- package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -0
- package/lib/stores/filter/QueryBuilderFilterOperator.js +20 -0
- package/lib/stores/filter/QueryBuilderFilterOperator.js.map +1 -0
- package/lib/stores/filter/QueryBuilderFilterOperatorLoader.d.ts +18 -0
- package/lib/stores/filter/QueryBuilderFilterOperatorLoader.d.ts.map +1 -0
- package/lib/stores/filter/QueryBuilderFilterOperatorLoader.js +44 -0
- package/lib/stores/filter/QueryBuilderFilterOperatorLoader.js.map +1 -0
- package/lib/stores/{QueryBuilderFilterState.d.ts → filter/QueryBuilderFilterState.d.ts} +7 -16
- package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderFilterState.js → filter/QueryBuilderFilterState.js} +9 -70
- package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -0
- package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.d.ts +19 -0
- package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.js +78 -0
- package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperatorHelper.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperatorHelper.js +3 -3
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Contain.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Contain.js +3 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_EndWith.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_EndWith.js +3 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Equal.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Equal.js +4 -5
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThan.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThan.js +4 -5
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThanEqual.js +4 -5
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_In.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_In.js +3 -3
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_IsEmpty.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_IsEmpty.js +3 -3
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThan.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThan.js +4 -5
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThanEqual.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThanEqual.js +4 -5
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_StartWith.d.ts +2 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -0
- package/lib/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_StartWith.js +3 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -0
- package/package.json +16 -17
- package/src/application/LegendQueryApplicationConfig.ts +1 -6
- package/src/components/LegendQueryApplication.tsx +10 -27
- package/src/components/LegendQueryBaseStoreProvider.tsx +0 -3
- package/src/components/QueryBuilder.tsx +19 -12
- package/src/components/QueryBuilderParameterPanel.tsx +1 -0
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +2 -2
- package/src/components/QueryBuilderResultPanel.tsx +10 -7
- package/src/components/QueryBuilderSetupPanel.tsx +1 -1
- package/src/components/QueryBuilderTextEditor.tsx +1 -1
- package/src/components/QueryEditorComponentTestUtils.tsx +5 -17
- package/src/components/QueryEditorStoreProvider.tsx +0 -7
- package/src/components/QuerySetupStoreProvider.tsx +0 -3
- package/src/components/{QueryBuilderExplorerPanel.tsx → explorer/QueryBuilderExplorerPanel.tsx} +18 -92
- package/src/components/{QueryBuilderFunctionsExplorerPanel.tsx → explorer/QueryBuilderFunctionsExplorerPanel.tsx} +2 -2
- package/src/components/{QueryBuilderMilestoneEditor.tsx → explorer/QueryBuilderMilestoneEditor.tsx} +4 -4
- package/src/components/{QueryBuilderPropertySearchPanel.tsx → explorer/QueryBuilderPropertySearchPanel.tsx} +6 -6
- package/src/components/{QueryBuilderFetchStructurePanel.tsx → fetch-structure/QueryBuilderFetchStructurePanel.tsx} +23 -14
- package/src/components/{QueryBuilderGraphFetchTreePanel.tsx → fetch-structure/QueryBuilderGraphFetchTreePanel.tsx} +6 -6
- package/src/components/{QueryBuilderPostFilterPanel.tsx → fetch-structure/QueryBuilderPostFilterPanel.tsx} +26 -30
- package/src/components/{QueryBuilderProjectionPanel.tsx → fetch-structure/QueryBuilderProjectionPanel.tsx} +13 -15
- package/src/components/{QueryBuilderResultModifierPanel.tsx → fetch-structure/QueryBuilderResultModifierPanel.tsx} +16 -8
- package/src/components/{QueryBuilderFilterPanel.tsx → filter/QueryBuilderFilterPanel.tsx} +12 -19
- package/src/components/{QueryBuilderLambdaEditor.tsx → shared/QueryBuilderLambdaEditor.tsx} +1 -1
- package/src/components/{QueryBuilderPanelIssueCountBadge.tsx → shared/QueryBuilderPanelIssueCountBadge.tsx} +0 -0
- package/src/components/{QueryBuilderPropertyInfoTooltip.tsx → shared/QueryBuilderPropertyInfoTooltip.tsx} +0 -0
- package/src/index.ts +0 -4
- package/src/stores/LegendQueryBaseStore.ts +1 -14
- package/src/stores/QueryBuilderGroupOperationHelper.ts +54 -0
- package/src/stores/QueryBuilderPreviewDataHelper.ts +17 -21
- package/src/stores/QueryBuilderPropertyEditorState.ts +6 -3
- package/src/stores/QueryBuilderResultState.ts +1 -1
- package/src/stores/QueryBuilderState.ts +22 -53
- package/src/stores/QueryBuilderTestUtils.ts +4 -1
- package/src/stores/QueryBuilderTypeaheadHelper.ts +31 -32
- package/src/stores/{QueryBuilderLambdaBuilder.ts → QueryBuilderValueSpecificationBuilder.ts} +331 -347
- package/src/stores/{QueryBuilderOperatorsHelper.ts → QueryBuilderValueSpecificationHelper.ts} +66 -47
- package/src/stores/{QueryBuilderLambdaProcessor.ts → QueryBuilderValueSpecificationProcessor.ts} +20 -13
- package/src/stores/QueryEditorStore.ts +3 -10
- package/src/stores/QueryEditorStoreTestUtils.ts +0 -1
- package/src/stores/QuerySetupStore.ts +0 -4
- package/src/stores/{QueryBuilderExplorerState.ts → explorer/QueryBuilderExplorerState.ts} +143 -3
- package/src/stores/{QueryBuilderPropertySearchPanelState.ts → explorer/QueryBuilderPropertySearchPanelState.ts} +2 -2
- package/src/stores/{QueryFunctionsExplorerState.ts → explorer/QueryFunctionsExplorerState.ts} +1 -1
- package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +34 -0
- package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +173 -0
- package/src/stores/{QueryBuilderGraphFetchTreeState.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts} +29 -25
- package/src/stores/{QueryBuilderGraphFetchTreeUtil.ts → fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts} +2 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.ts +90 -0
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +329 -0
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +390 -0
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +170 -0
- package/src/stores/fetch-structure/projection/QueryResultSetModifierState.ts +95 -0
- package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.ts +79 -0
- package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperatorLoader.ts +41 -0
- package/src/stores/{QueryBuilderAggregationState.ts → fetch-structure/projection/aggregation/QueryBuilderAggregationState.ts} +6 -69
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperatorHelper.ts +3 -5
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Average.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Count.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Distinct.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_DistinctCount.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_JoinString.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Max.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Min.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Population.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_StdDev_Sample.ts +4 -6
- package/src/stores/{aggregateOperators → fetch-structure/projection/aggregation/operators}/QueryBuilderAggregateOperator_Sum.ts +4 -6
- package/src/stores/{QueryBuilderPostFilterOperator.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.ts} +0 -0
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperatorLoader.ts +65 -0
- package/src/stores/{QueryBuilderPostFilterState.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterState.ts} +35 -28
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +131 -0
- package/src/stores/{QueryBuilderPostFilterProcessor.ts → fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.ts} +13 -11
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperatorHelper.ts +5 -5
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Contain.ts +12 -12
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_EndWith.ts +12 -12
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_Equal.ts +17 -17
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThan.ts +12 -12
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +2 -2
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_In.ts +12 -12
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_IsEmpty.ts +3 -3
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThan.ts +12 -12
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_LessThanEqual.ts +2 -2
- package/src/stores/{postFilterOperators → fetch-structure/projection/post-filter/operators}/QueryBuilderPostFilterOperator_StartWith.ts +12 -12
- package/src/stores/filter/QueryBuilderFilterOperator.ts +52 -0
- package/src/stores/filter/QueryBuilderFilterOperatorLoader.ts +65 -0
- package/src/stores/{QueryBuilderFilterState.ts → filter/QueryBuilderFilterState.ts} +26 -148
- package/src/stores/filter/QueryBuilderValueSpecificationBuilder.ts +120 -0
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperatorHelper.ts +4 -4
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Contain.ts +8 -8
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_EndWith.ts +8 -8
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_Equal.ts +10 -10
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThan.ts +9 -9
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_GreaterThanEqual.ts +9 -9
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_In.ts +7 -7
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_IsEmpty.ts +6 -6
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThan.ts +9 -9
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_LessThanEqual.ts +9 -9
- package/src/stores/{filterOperators → filter/operators}/QueryBuilderFilterOperator_StartWith.ts +7 -7
- package/tsconfig.json +75 -65
- package/lib/components/QueryBuilderExplorerPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderExplorerPanel.js.map +0 -1
- package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderFetchStructurePanel.js.map +0 -1
- package/lib/components/QueryBuilderFilterPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderFilterPanel.js.map +0 -1
- package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +0 -1
- package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +0 -1
- package/lib/components/QueryBuilderLambdaEditor.d.ts.map +0 -1
- package/lib/components/QueryBuilderLambdaEditor.js.map +0 -1
- package/lib/components/QueryBuilderMilestoneEditor.d.ts.map +0 -1
- package/lib/components/QueryBuilderMilestoneEditor.js.map +0 -1
- package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts.map +0 -1
- package/lib/components/QueryBuilderPanelIssueCountBadge.js.map +0 -1
- package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderPostFilterPanel.js.map +0 -1
- package/lib/components/QueryBuilderProjectionPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderProjectionPanel.js.map +0 -1
- package/lib/components/QueryBuilderPropertyInfoTooltip.d.ts.map +0 -1
- package/lib/components/QueryBuilderPropertyInfoTooltip.js.map +0 -1
- package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderPropertySearchPanel.js.map +0 -1
- package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +0 -1
- package/lib/components/QueryBuilderResultModifierPanel.js.map +0 -1
- package/lib/stores/QueryBuilderAggregationState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderAggregationState.js.map +0 -1
- package/lib/stores/QueryBuilderExplorerState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderExplorerState.js.map +0 -1
- package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderFetchStructureState.js +0 -58
- package/lib/stores/QueryBuilderFetchStructureState.js.map +0 -1
- package/lib/stores/QueryBuilderFilterState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderFilterState.js.map +0 -1
- package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +0 -1
- package/lib/stores/QueryBuilderGraphFetchTreeUtil.d.ts.map +0 -1
- package/lib/stores/QueryBuilderGraphFetchTreeUtil.js.map +0 -1
- package/lib/stores/QueryBuilderLambdaBuilder.d.ts.map +0 -1
- package/lib/stores/QueryBuilderLambdaBuilder.js.map +0 -1
- package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +0 -1
- package/lib/stores/QueryBuilderLambdaProcessor.js.map +0 -1
- package/lib/stores/QueryBuilderOperatorLoader.d.ts +0 -47
- package/lib/stores/QueryBuilderOperatorLoader.d.ts.map +0 -1
- package/lib/stores/QueryBuilderOperatorLoader.js +0 -94
- package/lib/stores/QueryBuilderOperatorLoader.js.map +0 -1
- package/lib/stores/QueryBuilderOperatorsHelper.d.ts.map +0 -1
- package/lib/stores/QueryBuilderOperatorsHelper.js.map +0 -1
- package/lib/stores/QueryBuilderPostFilterOperator.d.ts.map +0 -1
- package/lib/stores/QueryBuilderPostFilterOperator.js.map +0 -1
- package/lib/stores/QueryBuilderPostFilterProcessor.d.ts.map +0 -1
- package/lib/stores/QueryBuilderPostFilterProcessor.js.map +0 -1
- package/lib/stores/QueryBuilderPostFilterState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderPostFilterState.js.map +0 -1
- package/lib/stores/QueryBuilderProjectionState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderProjectionState.js +0 -416
- package/lib/stores/QueryBuilderProjectionState.js.map +0 -1
- package/lib/stores/QueryBuilderPropertySearchPanelState.d.ts.map +0 -1
- package/lib/stores/QueryBuilderPropertySearchPanelState.js.map +0 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +0 -19
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +0 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +0 -50
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +0 -1
- package/lib/stores/QueryFunctionsExplorerState.d.ts.map +0 -1
- package/lib/stores/QueryFunctionsExplorerState.js.map +0 -1
- package/lib/stores/QueryResultSetModifierState.d.ts.map +0 -1
- package/lib/stores/QueryResultSetModifierState.js +0 -165
- package/lib/stores/QueryResultSetModifierState.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperatorHelper.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Average.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Count.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Distinct.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_DistinctCount.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_JoinString.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Max.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Min.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Population.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.d.ts.map +0 -1
- package/lib/stores/aggregateOperators/QueryBuilderAggregateOperator_Sum.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperatorHelper.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Contain.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_EndWith.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_In.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_IsEmpty.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.d.ts.map +0 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_StartWith.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Contain.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_EndWith.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_In.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_IsEmpty.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +0 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_StartWith.js.map +0 -1
- package/src/stores/QueryBuilderFetchStructureState.ts +0 -75
- package/src/stores/QueryBuilderOperatorLoader.ts +0 -133
- package/src/stores/QueryBuilderProjectionState.ts +0 -783
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +0 -78
- package/src/stores/QueryResultSetModifierState.ts +0 -307
@@ -0,0 +1,173 @@
|
|
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 { action, makeAutoObservable } from 'mobx';
|
18
|
+
import type { QueryBuilderState } from '../QueryBuilderState.js';
|
19
|
+
import { QueryBuilderGraphFetchTreeState } from './graph-fetch/QueryBuilderGraphFetchTreeState.js';
|
20
|
+
import { QueryBuilderProjectionState } from './projection/QueryBuilderProjectionState.js';
|
21
|
+
import {
|
22
|
+
buildPropertyExpressionFromExplorerTreeNodeData,
|
23
|
+
type QueryBuilderExplorerTreeNodeData,
|
24
|
+
QueryBuilderExplorerTreePropertyNodeData,
|
25
|
+
} from '../explorer/QueryBuilderExplorerState.js';
|
26
|
+
import { Class } from '@finos/legend-graph';
|
27
|
+
import { filterByType } from '@finos/legend-shared';
|
28
|
+
import { addQueryBuilderPropertyNode } from './graph-fetch/QueryBuilderGraphFetchTreeUtil.js';
|
29
|
+
import { QueryBuilderSimpleProjectionColumnState } from './projection/QueryBuilderProjectionColumnState.js';
|
30
|
+
|
31
|
+
export enum FETCH_STRUCTURE_MODE {
|
32
|
+
PROJECTION = 'PROJECTION',
|
33
|
+
GRAPH_FETCH = 'GRAPH_FETCH',
|
34
|
+
}
|
35
|
+
|
36
|
+
export class QueryBuilderFetchStructureState {
|
37
|
+
queryBuilderState: QueryBuilderState;
|
38
|
+
/**
|
39
|
+
* TODO: refactor this so we could reduce this to
|
40
|
+
* `implementationState: QueryBuilderFetchStructureImplementationState`
|
41
|
+
* so we don't have graph fetch and projection at the same time
|
42
|
+
*
|
43
|
+
* TODO?: perhaps it would eventually make sense to default to
|
44
|
+
* graph-fetch since `getAll()` naturally works for graph-fetch case
|
45
|
+
* and graph-fetch allows somewhat an empty tree
|
46
|
+
*/
|
47
|
+
fetchStructureMode = FETCH_STRUCTURE_MODE.PROJECTION;
|
48
|
+
projectionState: QueryBuilderProjectionState;
|
49
|
+
graphFetchTreeState: QueryBuilderGraphFetchTreeState;
|
50
|
+
|
51
|
+
constructor(queryBuilderState: QueryBuilderState) {
|
52
|
+
makeAutoObservable(this, {
|
53
|
+
queryBuilderState: false,
|
54
|
+
setFetchStructureMode: action,
|
55
|
+
});
|
56
|
+
|
57
|
+
this.queryBuilderState = queryBuilderState;
|
58
|
+
// TODO: we probably should modularize this a bit better
|
59
|
+
// See https://github.com/finos/legend-studio/issues/731
|
60
|
+
this.projectionState = new QueryBuilderProjectionState(
|
61
|
+
queryBuilderState,
|
62
|
+
this,
|
63
|
+
);
|
64
|
+
this.graphFetchTreeState = new QueryBuilderGraphFetchTreeState(
|
65
|
+
queryBuilderState,
|
66
|
+
this,
|
67
|
+
);
|
68
|
+
}
|
69
|
+
|
70
|
+
setFetchStructureMode(val: FETCH_STRUCTURE_MODE): void {
|
71
|
+
this.fetchStructureMode = val;
|
72
|
+
}
|
73
|
+
|
74
|
+
fetchProperty(node: QueryBuilderExplorerTreeNodeData): void {
|
75
|
+
if (
|
76
|
+
node instanceof QueryBuilderExplorerTreePropertyNodeData &&
|
77
|
+
!(node.type instanceof Class)
|
78
|
+
) {
|
79
|
+
switch (this.fetchStructureMode) {
|
80
|
+
case FETCH_STRUCTURE_MODE.GRAPH_FETCH: {
|
81
|
+
this.graphFetchTreeState.addProperty(node);
|
82
|
+
return;
|
83
|
+
}
|
84
|
+
case FETCH_STRUCTURE_MODE.PROJECTION: {
|
85
|
+
this.projectionState.addColumn(
|
86
|
+
new QueryBuilderSimpleProjectionColumnState(
|
87
|
+
this.projectionState,
|
88
|
+
buildPropertyExpressionFromExplorerTreeNodeData(
|
89
|
+
this.queryBuilderState.explorerState.nonNullableTreeData,
|
90
|
+
node,
|
91
|
+
this.queryBuilderState.graphManagerState.graph,
|
92
|
+
this.queryBuilderState.explorerState.propertySearchPanelState
|
93
|
+
.allMappedPropertyNodes,
|
94
|
+
),
|
95
|
+
this.queryBuilderState.explorerState.humanizePropertyName,
|
96
|
+
),
|
97
|
+
);
|
98
|
+
return;
|
99
|
+
}
|
100
|
+
default:
|
101
|
+
return;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
}
|
105
|
+
|
106
|
+
fetchNodeChildrenProperties(node: QueryBuilderExplorerTreeNodeData): void {
|
107
|
+
if (node.type instanceof Class) {
|
108
|
+
// NOTE: here we require the node to already been expanded so the child nodes are generated
|
109
|
+
// we don't allow adding unopened node. Maybe if it helps, we can show a warning.
|
110
|
+
const nodesToAdd = node.childrenIds
|
111
|
+
.map((childId) =>
|
112
|
+
this.queryBuilderState.explorerState.nonNullableTreeData.nodes.get(
|
113
|
+
childId,
|
114
|
+
),
|
115
|
+
)
|
116
|
+
.filter(filterByType(QueryBuilderExplorerTreePropertyNodeData))
|
117
|
+
.filter(
|
118
|
+
(childNode) =>
|
119
|
+
!(childNode.type instanceof Class) && childNode.mappingData.mapped,
|
120
|
+
);
|
121
|
+
|
122
|
+
switch (this.fetchStructureMode) {
|
123
|
+
case FETCH_STRUCTURE_MODE.GRAPH_FETCH: {
|
124
|
+
const graphFetchTreeData = this.graphFetchTreeState.treeData;
|
125
|
+
if (graphFetchTreeData) {
|
126
|
+
nodesToAdd.forEach((nodeToAdd) =>
|
127
|
+
addQueryBuilderPropertyNode(
|
128
|
+
graphFetchTreeData,
|
129
|
+
this.queryBuilderState.explorerState.nonNullableTreeData,
|
130
|
+
nodeToAdd,
|
131
|
+
this.queryBuilderState,
|
132
|
+
),
|
133
|
+
);
|
134
|
+
this.graphFetchTreeState.setGraphFetchTree({
|
135
|
+
...graphFetchTreeData,
|
136
|
+
});
|
137
|
+
}
|
138
|
+
return;
|
139
|
+
}
|
140
|
+
case FETCH_STRUCTURE_MODE.PROJECTION: {
|
141
|
+
nodesToAdd.forEach((nodeToAdd) => {
|
142
|
+
this.projectionState.addColumn(
|
143
|
+
new QueryBuilderSimpleProjectionColumnState(
|
144
|
+
this.projectionState,
|
145
|
+
buildPropertyExpressionFromExplorerTreeNodeData(
|
146
|
+
this.queryBuilderState.explorerState.nonNullableTreeData,
|
147
|
+
nodeToAdd,
|
148
|
+
this.queryBuilderState.graphManagerState.graph,
|
149
|
+
this.queryBuilderState.explorerState.propertySearchPanelState
|
150
|
+
.allMappedPropertyNodes,
|
151
|
+
),
|
152
|
+
this.queryBuilderState.explorerState.humanizePropertyName,
|
153
|
+
),
|
154
|
+
);
|
155
|
+
});
|
156
|
+
return;
|
157
|
+
}
|
158
|
+
default:
|
159
|
+
return;
|
160
|
+
}
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
get validationIssues(): string[] | undefined {
|
165
|
+
switch (this.fetchStructureMode) {
|
166
|
+
case FETCH_STRUCTURE_MODE.PROJECTION:
|
167
|
+
return this.projectionState.validationIssues;
|
168
|
+
case FETCH_STRUCTURE_MODE.GRAPH_FETCH:
|
169
|
+
default:
|
170
|
+
return undefined;
|
171
|
+
}
|
172
|
+
}
|
173
|
+
}
|
@@ -14,8 +14,8 @@
|
|
14
14
|
* limitations under the License.
|
15
15
|
*/
|
16
16
|
|
17
|
-
import type { QueryBuilderState } from '
|
18
|
-
import {
|
17
|
+
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
18
|
+
import { action, makeObservable, observable } from 'mobx';
|
19
19
|
import {
|
20
20
|
PackageableElementExplicitReference,
|
21
21
|
RootGraphFetchTree,
|
@@ -25,11 +25,12 @@ import {
|
|
25
25
|
addQueryBuilderPropertyNode,
|
26
26
|
buildGraphFetchTreeData,
|
27
27
|
} from './QueryBuilderGraphFetchTreeUtil.js';
|
28
|
-
import type { QueryBuilderExplorerTreePropertyNodeData } from '
|
28
|
+
import type { QueryBuilderExplorerTreePropertyNodeData } from '../../explorer/QueryBuilderExplorerState.js';
|
29
29
|
import { assertNonNullable } from '@finos/legend-shared';
|
30
|
+
import { QueryBuilderFetchStructureImplementationState } from '../QueryBuilderFetchStructureImplementationState.js';
|
31
|
+
import type { QueryBuilderFetchStructureState } from '../QueryBuilderFetchStructureState.js';
|
30
32
|
|
31
|
-
export class QueryBuilderGraphFetchTreeState {
|
32
|
-
queryBuilderState: QueryBuilderState;
|
33
|
+
export class QueryBuilderGraphFetchTreeState extends QueryBuilderFetchStructureImplementationState {
|
33
34
|
treeData?: QueryBuilderGraphFetchTreeData | undefined;
|
34
35
|
/**
|
35
36
|
* If set to `true` we will use `graphFetchChecked` function instead of `graphFetch`.
|
@@ -38,14 +39,18 @@ export class QueryBuilderGraphFetchTreeState {
|
|
38
39
|
*/
|
39
40
|
isChecked = false;
|
40
41
|
|
41
|
-
constructor(
|
42
|
-
|
43
|
-
|
42
|
+
constructor(
|
43
|
+
queryBuilderState: QueryBuilderState,
|
44
|
+
fetchStructureState: QueryBuilderFetchStructureState,
|
45
|
+
) {
|
46
|
+
super(queryBuilderState, fetchStructureState);
|
47
|
+
|
48
|
+
makeObservable(this, {
|
49
|
+
treeData: observable,
|
50
|
+
isChecked: observable,
|
44
51
|
setGraphFetchTree: action,
|
45
52
|
setChecked: action,
|
46
53
|
});
|
47
|
-
|
48
|
-
this.queryBuilderState = queryBuilderState;
|
49
54
|
}
|
50
55
|
|
51
56
|
setGraphFetchTree(val: QueryBuilderGraphFetchTreeData | undefined): void {
|
@@ -56,23 +61,22 @@ export class QueryBuilderGraphFetchTreeState {
|
|
56
61
|
this.isChecked = val;
|
57
62
|
}
|
58
63
|
|
64
|
+
// TODO-BEFORE-PR: consider removing this
|
59
65
|
initialize(tree?: RootGraphFetchTree): void {
|
60
|
-
if (
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
PackageableElementExplicitReference.create(_class),
|
70
|
-
),
|
66
|
+
if (tree) {
|
67
|
+
this.setGraphFetchTree(buildGraphFetchTreeData(tree));
|
68
|
+
} else {
|
69
|
+
const _class = this.queryBuilderState.querySetupState._class;
|
70
|
+
if (_class) {
|
71
|
+
this.setGraphFetchTree(
|
72
|
+
buildGraphFetchTreeData(
|
73
|
+
new RootGraphFetchTree(
|
74
|
+
PackageableElementExplicitReference.create(_class),
|
71
75
|
),
|
72
|
-
)
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
+
),
|
77
|
+
);
|
78
|
+
} else {
|
79
|
+
this.setGraphFetchTree(undefined);
|
76
80
|
}
|
77
81
|
}
|
78
82
|
}
|
@@ -30,8 +30,8 @@ import {
|
|
30
30
|
type QueryBuilderExplorerTreeNodeData,
|
31
31
|
QueryBuilderExplorerTreePropertyNodeData,
|
32
32
|
QueryBuilderExplorerTreeSubTypeNodeData,
|
33
|
-
} from '
|
34
|
-
import type { QueryBuilderState } from '
|
33
|
+
} from '../../explorer/QueryBuilderExplorerState.js';
|
34
|
+
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
35
35
|
import {
|
36
36
|
graphFetchTree_addSubTree,
|
37
37
|
graphFetchTree_removeSubTree,
|
package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.ts
ADDED
@@ -0,0 +1,90 @@
|
|
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 {
|
18
|
+
extractElementNameFromPath,
|
19
|
+
GenericType,
|
20
|
+
GenericTypeExplicitReference,
|
21
|
+
matchFunctionName,
|
22
|
+
PrimitiveInstanceValue,
|
23
|
+
PRIMITIVE_TYPE,
|
24
|
+
SimpleFunctionExpression,
|
25
|
+
TYPICAL_MULTIPLICITY_TYPE,
|
26
|
+
type ValueSpecification,
|
27
|
+
type LambdaFunction,
|
28
|
+
} from '@finos/legend-graph';
|
29
|
+
import { guaranteeType } from '@finos/legend-shared';
|
30
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../QueryBuilder_Const.js';
|
31
|
+
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
32
|
+
|
33
|
+
export const appendTakeLimit = (
|
34
|
+
queryBuilderState: QueryBuilderState,
|
35
|
+
lambda: LambdaFunction,
|
36
|
+
previewLimit?: number | undefined,
|
37
|
+
): LambdaFunction => {
|
38
|
+
if (!previewLimit) {
|
39
|
+
return lambda;
|
40
|
+
}
|
41
|
+
const multiplicityOne =
|
42
|
+
queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
|
43
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
44
|
+
);
|
45
|
+
if (lambda.expressionSequence.length === 1) {
|
46
|
+
const func = lambda.expressionSequence[0];
|
47
|
+
if (func instanceof SimpleFunctionExpression) {
|
48
|
+
if (
|
49
|
+
matchFunctionName(
|
50
|
+
func.functionName,
|
51
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.SERIALIZE,
|
52
|
+
)
|
53
|
+
) {
|
54
|
+
const limit = new PrimitiveInstanceValue(
|
55
|
+
GenericTypeExplicitReference.create(
|
56
|
+
new GenericType(
|
57
|
+
queryBuilderState.graphManagerState.graph.getPrimitiveType(
|
58
|
+
PRIMITIVE_TYPE.INTEGER,
|
59
|
+
),
|
60
|
+
),
|
61
|
+
),
|
62
|
+
multiplicityOne,
|
63
|
+
);
|
64
|
+
limit.values = [previewLimit];
|
65
|
+
const takeFunction = new SimpleFunctionExpression(
|
66
|
+
extractElementNameFromPath(QUERY_BUILDER_SUPPORTED_FUNCTIONS.TAKE),
|
67
|
+
multiplicityOne,
|
68
|
+
);
|
69
|
+
|
70
|
+
// NOTE: `take()` does not work on `graphFetch()` or `serialize()` so we will put it
|
71
|
+
// right next to `all()`
|
72
|
+
const serializeFunction = func;
|
73
|
+
const graphFetchFunc = guaranteeType(
|
74
|
+
serializeFunction.parametersValues[0],
|
75
|
+
SimpleFunctionExpression,
|
76
|
+
);
|
77
|
+
const getAllFunc = graphFetchFunc
|
78
|
+
.parametersValues[0] as ValueSpecification;
|
79
|
+
takeFunction.parametersValues[0] = getAllFunc;
|
80
|
+
takeFunction.parametersValues[1] = limit;
|
81
|
+
graphFetchFunc.parametersValues = [
|
82
|
+
takeFunction,
|
83
|
+
graphFetchFunc.parametersValues[1] as ValueSpecification,
|
84
|
+
];
|
85
|
+
return lambda;
|
86
|
+
}
|
87
|
+
}
|
88
|
+
}
|
89
|
+
return lambda;
|
90
|
+
};
|
@@ -0,0 +1,329 @@
|
|
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 { action, makeObservable, observable, flow } from 'mobx';
|
18
|
+
import {
|
19
|
+
type GeneratorFn,
|
20
|
+
LogEvent,
|
21
|
+
assertErrorThrown,
|
22
|
+
uuid,
|
23
|
+
guaranteeNonNullable,
|
24
|
+
assertTrue,
|
25
|
+
assertNonEmptyString,
|
26
|
+
} from '@finos/legend-shared';
|
27
|
+
import {
|
28
|
+
type QueryBuilderExplorerTreePropertyNodeData,
|
29
|
+
buildPropertyExpressionFromExplorerTreeNodeData,
|
30
|
+
} from '../../explorer/QueryBuilderExplorerState.js';
|
31
|
+
import {
|
32
|
+
getPropertyChainName,
|
33
|
+
QueryBuilderPropertyExpressionState,
|
34
|
+
} from '../../QueryBuilderPropertyEditorState.js';
|
35
|
+
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
36
|
+
import {
|
37
|
+
type AbstractPropertyExpression,
|
38
|
+
type Type,
|
39
|
+
type VariableExpression,
|
40
|
+
PackageableElementExplicitReference,
|
41
|
+
GRAPH_MANAGER_EVENT,
|
42
|
+
PRIMITIVE_TYPE,
|
43
|
+
buildSourceInformationSourceId,
|
44
|
+
ParserError,
|
45
|
+
TYPICAL_MULTIPLICITY_TYPE,
|
46
|
+
RawVariableExpression,
|
47
|
+
Enumeration,
|
48
|
+
RawLambda,
|
49
|
+
stub_RawLambda,
|
50
|
+
} from '@finos/legend-graph';
|
51
|
+
import {
|
52
|
+
DEFAULT_LAMBDA_VARIABLE_NAME,
|
53
|
+
QUERY_BUILDER_SOURCE_ID_LABEL,
|
54
|
+
} from '../../../QueryBuilder_Const.js';
|
55
|
+
import { LambdaEditorState } from '@finos/legend-application';
|
56
|
+
import type { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
|
57
|
+
|
58
|
+
export const QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE = 'PROJECTION_COLUMN';
|
59
|
+
|
60
|
+
export interface QueryBuilderProjectionColumnDragSource {
|
61
|
+
columnState: QueryBuilderProjectionColumnState;
|
62
|
+
}
|
63
|
+
|
64
|
+
export abstract class QueryBuilderProjectionColumnState {
|
65
|
+
readonly uuid = uuid();
|
66
|
+
projectionState: QueryBuilderProjectionState;
|
67
|
+
columnName: string;
|
68
|
+
|
69
|
+
constructor(
|
70
|
+
projectionState: QueryBuilderProjectionState,
|
71
|
+
columnName: string,
|
72
|
+
) {
|
73
|
+
makeObservable(this, {
|
74
|
+
uuid: false,
|
75
|
+
projectionState: false,
|
76
|
+
columnName: observable,
|
77
|
+
setColumnName: action,
|
78
|
+
});
|
79
|
+
|
80
|
+
this.projectionState = projectionState;
|
81
|
+
this.columnName = columnName;
|
82
|
+
}
|
83
|
+
|
84
|
+
setColumnName(val: string): void {
|
85
|
+
this.columnName = val;
|
86
|
+
}
|
87
|
+
|
88
|
+
abstract getReturnType(): Type | undefined;
|
89
|
+
}
|
90
|
+
|
91
|
+
export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProjectionColumnState {
|
92
|
+
lambdaParameterName: string = DEFAULT_LAMBDA_VARIABLE_NAME;
|
93
|
+
propertyExpressionState: QueryBuilderPropertyExpressionState;
|
94
|
+
|
95
|
+
constructor(
|
96
|
+
projectionState: QueryBuilderProjectionState,
|
97
|
+
propertyExpression: AbstractPropertyExpression,
|
98
|
+
humanizePropertyName: boolean,
|
99
|
+
) {
|
100
|
+
super(projectionState, '');
|
101
|
+
|
102
|
+
makeObservable(this, {
|
103
|
+
lambdaParameterName: observable,
|
104
|
+
propertyExpressionState: observable,
|
105
|
+
setLambdaParameterName: action,
|
106
|
+
changeProperty: action,
|
107
|
+
});
|
108
|
+
|
109
|
+
this.propertyExpressionState = new QueryBuilderPropertyExpressionState(
|
110
|
+
projectionState.queryBuilderState,
|
111
|
+
propertyExpression,
|
112
|
+
);
|
113
|
+
this.columnName = getPropertyChainName(
|
114
|
+
this.propertyExpressionState.propertyExpression,
|
115
|
+
humanizePropertyName,
|
116
|
+
);
|
117
|
+
}
|
118
|
+
|
119
|
+
setLambdaParameterName(val: string): void {
|
120
|
+
this.lambdaParameterName = val;
|
121
|
+
}
|
122
|
+
|
123
|
+
changeProperty(
|
124
|
+
node: QueryBuilderExplorerTreePropertyNodeData,
|
125
|
+
humanizePropertyName: boolean,
|
126
|
+
): void {
|
127
|
+
this.propertyExpressionState = new QueryBuilderPropertyExpressionState(
|
128
|
+
this.projectionState.queryBuilderState,
|
129
|
+
buildPropertyExpressionFromExplorerTreeNodeData(
|
130
|
+
this.projectionState.queryBuilderState.explorerState
|
131
|
+
.nonNullableTreeData,
|
132
|
+
node,
|
133
|
+
this.projectionState.queryBuilderState.graphManagerState.graph,
|
134
|
+
this.projectionState.queryBuilderState.explorerState
|
135
|
+
.propertySearchPanelState.allMappedPropertyNodes,
|
136
|
+
),
|
137
|
+
);
|
138
|
+
this.columnName = getPropertyChainName(
|
139
|
+
this.propertyExpressionState.propertyExpression,
|
140
|
+
humanizePropertyName,
|
141
|
+
);
|
142
|
+
}
|
143
|
+
|
144
|
+
override getReturnType(): Type | undefined {
|
145
|
+
return this.propertyExpressionState.propertyExpression.func.genericType
|
146
|
+
.value.rawType;
|
147
|
+
}
|
148
|
+
}
|
149
|
+
|
150
|
+
class QueryBuilderDerivationProjectionLambdaState extends LambdaEditorState {
|
151
|
+
queryBuilderState: QueryBuilderState;
|
152
|
+
derivationProjectionColumnState: QueryBuilderDerivationProjectionColumnState;
|
153
|
+
/**
|
154
|
+
* This is used to store the JSON string when viewing the query in JSON mode
|
155
|
+
* TODO: consider moving this to another state if we need to simplify the logic of text-mode
|
156
|
+
*/
|
157
|
+
readOnlylambdaJson = '';
|
158
|
+
|
159
|
+
constructor(
|
160
|
+
queryBuilderState: QueryBuilderState,
|
161
|
+
derivationProjectionColumnState: QueryBuilderDerivationProjectionColumnState,
|
162
|
+
) {
|
163
|
+
super('', '');
|
164
|
+
this.queryBuilderState = queryBuilderState;
|
165
|
+
this.derivationProjectionColumnState = derivationProjectionColumnState;
|
166
|
+
}
|
167
|
+
|
168
|
+
get lambdaId(): string {
|
169
|
+
return buildSourceInformationSourceId([
|
170
|
+
// TODO: to be reworked
|
171
|
+
// See https://github.com/finos/legend-studio/issues/1168
|
172
|
+
QUERY_BUILDER_SOURCE_ID_LABEL.QUERY_BUILDER,
|
173
|
+
QUERY_BUILDER_SOURCE_ID_LABEL.PROJECTION,
|
174
|
+
this.derivationProjectionColumnState.uuid,
|
175
|
+
]);
|
176
|
+
}
|
177
|
+
|
178
|
+
setLambdaJson(lambdaJson: string): void {
|
179
|
+
this.readOnlylambdaJson = lambdaJson;
|
180
|
+
}
|
181
|
+
|
182
|
+
*convertLambdaGrammarStringToObject(): GeneratorFn<void> {
|
183
|
+
const emptyLambda = stub_RawLambda();
|
184
|
+
if (this.lambdaString) {
|
185
|
+
try {
|
186
|
+
const lambda =
|
187
|
+
(yield this.queryBuilderState.graphManagerState.graphManager.pureCodeToLambda(
|
188
|
+
this.fullLambdaString,
|
189
|
+
this.lambdaId,
|
190
|
+
)) as RawLambda;
|
191
|
+
this.setParserError(undefined);
|
192
|
+
this.derivationProjectionColumnState.setLambda(lambda);
|
193
|
+
} catch (error) {
|
194
|
+
assertErrorThrown(error);
|
195
|
+
if (error instanceof ParserError) {
|
196
|
+
this.setParserError(error);
|
197
|
+
}
|
198
|
+
this.queryBuilderState.applicationStore.log.error(
|
199
|
+
LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
|
200
|
+
error,
|
201
|
+
);
|
202
|
+
}
|
203
|
+
} else {
|
204
|
+
this.clearErrors();
|
205
|
+
this.derivationProjectionColumnState.setLambda(emptyLambda);
|
206
|
+
}
|
207
|
+
}
|
208
|
+
|
209
|
+
*convertLambdaObjectToGrammarString(pretty: boolean): GeneratorFn<void> {
|
210
|
+
if (this.derivationProjectionColumnState.lambda.body) {
|
211
|
+
try {
|
212
|
+
const lambdas = new Map<string, RawLambda>();
|
213
|
+
lambdas.set(
|
214
|
+
this.lambdaId,
|
215
|
+
new RawLambda(
|
216
|
+
this.derivationProjectionColumnState.lambda.parameters,
|
217
|
+
this.derivationProjectionColumnState.lambda.body,
|
218
|
+
),
|
219
|
+
);
|
220
|
+
const isolatedLambdas =
|
221
|
+
(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(
|
222
|
+
lambdas,
|
223
|
+
pretty,
|
224
|
+
)) as Map<string, string>;
|
225
|
+
const grammarText = isolatedLambdas.get(this.lambdaId);
|
226
|
+
this.setLambdaString(
|
227
|
+
grammarText !== undefined
|
228
|
+
? this.extractLambdaString(grammarText)
|
229
|
+
: '',
|
230
|
+
);
|
231
|
+
this.clearErrors();
|
232
|
+
} catch (error) {
|
233
|
+
assertErrorThrown(error);
|
234
|
+
this.queryBuilderState.applicationStore.log.error(
|
235
|
+
LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
|
236
|
+
error,
|
237
|
+
);
|
238
|
+
}
|
239
|
+
} else {
|
240
|
+
this.clearErrors();
|
241
|
+
this.setLambdaString('');
|
242
|
+
}
|
243
|
+
}
|
244
|
+
}
|
245
|
+
|
246
|
+
export class QueryBuilderDerivationProjectionColumnState extends QueryBuilderProjectionColumnState {
|
247
|
+
derivationLambdaEditorState: QueryBuilderDerivationProjectionLambdaState;
|
248
|
+
lambda: RawLambda;
|
249
|
+
returnType: Type | undefined;
|
250
|
+
|
251
|
+
constructor(projectionState: QueryBuilderProjectionState, lambda: RawLambda) {
|
252
|
+
super(projectionState, '(derivation)');
|
253
|
+
|
254
|
+
makeObservable(this, {
|
255
|
+
lambda: observable,
|
256
|
+
returnType: observable,
|
257
|
+
setLambda: action,
|
258
|
+
fetchDerivationLambdaReturnType: flow,
|
259
|
+
});
|
260
|
+
|
261
|
+
this.derivationLambdaEditorState =
|
262
|
+
new QueryBuilderDerivationProjectionLambdaState(
|
263
|
+
projectionState.queryBuilderState,
|
264
|
+
this,
|
265
|
+
);
|
266
|
+
this.lambda = lambda;
|
267
|
+
}
|
268
|
+
|
269
|
+
setLambda(val: RawLambda): void {
|
270
|
+
this.lambda = val;
|
271
|
+
}
|
272
|
+
|
273
|
+
setReturnType(val: Type | undefined): void {
|
274
|
+
this.returnType = val;
|
275
|
+
}
|
276
|
+
|
277
|
+
/**
|
278
|
+
* Fetches lambda return type for derivation column.
|
279
|
+
* Throws error if unable to fetch type or if type is not primitive or an enumeration
|
280
|
+
* as expected by a projection column
|
281
|
+
*/
|
282
|
+
*fetchDerivationLambdaReturnType(): GeneratorFn<void> {
|
283
|
+
assertTrue(Array.isArray(this.lambda.parameters));
|
284
|
+
const projectionParameter = this.lambda.parameters as object[];
|
285
|
+
const graph =
|
286
|
+
this.projectionState.queryBuilderState.graphManagerState.graph;
|
287
|
+
const multiplicityOne = graph.getTypicalMultiplicity(
|
288
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
289
|
+
);
|
290
|
+
assertTrue(projectionParameter.length === 1);
|
291
|
+
const variable = projectionParameter[0] as VariableExpression;
|
292
|
+
assertNonEmptyString(variable.name);
|
293
|
+
// assign variable to query class
|
294
|
+
const rawVariableExpression = new RawVariableExpression(
|
295
|
+
variable.name,
|
296
|
+
multiplicityOne,
|
297
|
+
PackageableElementExplicitReference.create(
|
298
|
+
guaranteeNonNullable(
|
299
|
+
this.projectionState.queryBuilderState.querySetupState._class,
|
300
|
+
),
|
301
|
+
),
|
302
|
+
);
|
303
|
+
const _rawVariableExpression =
|
304
|
+
this.projectionState.queryBuilderState.graphManagerState.graphManager.serializeRawValueSpecification(
|
305
|
+
rawVariableExpression,
|
306
|
+
);
|
307
|
+
const isolatedLambda = new RawLambda(
|
308
|
+
[_rawVariableExpression],
|
309
|
+
this.lambda.body,
|
310
|
+
);
|
311
|
+
const type =
|
312
|
+
(yield this.projectionState.queryBuilderState.graphManagerState.graphManager.getLambdaReturnType(
|
313
|
+
isolatedLambda,
|
314
|
+
graph,
|
315
|
+
)) as string;
|
316
|
+
const resolvedType = graph.getType(type);
|
317
|
+
assertTrue(
|
318
|
+
Object.values(PRIMITIVE_TYPE).includes(
|
319
|
+
resolvedType.path as PRIMITIVE_TYPE,
|
320
|
+
) || resolvedType instanceof Enumeration,
|
321
|
+
'projection column must have primitive return type',
|
322
|
+
);
|
323
|
+
this.setReturnType(resolvedType);
|
324
|
+
}
|
325
|
+
|
326
|
+
override getReturnType(): Type | undefined {
|
327
|
+
return this.returnType;
|
328
|
+
}
|
329
|
+
}
|