@finos/legend-application-query 5.2.2 → 5.2.3
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 +6 -6
- 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 +1 -2
- 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} +71 -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 +3 -4
- 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} +138 -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,390 @@
|
|
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
|
+
action,
|
19
|
+
flowResult,
|
20
|
+
makeObservable,
|
21
|
+
observable,
|
22
|
+
flow,
|
23
|
+
computed,
|
24
|
+
} from 'mobx';
|
25
|
+
import {
|
26
|
+
type GeneratorFn,
|
27
|
+
LogEvent,
|
28
|
+
assertErrorThrown,
|
29
|
+
changeEntry,
|
30
|
+
guaranteeType,
|
31
|
+
deleteEntry,
|
32
|
+
addUniqueEntry,
|
33
|
+
guaranteeNonNullable,
|
34
|
+
findLast,
|
35
|
+
filterByType,
|
36
|
+
} from '@finos/legend-shared';
|
37
|
+
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
38
|
+
import {
|
39
|
+
type CompilationError,
|
40
|
+
GRAPH_MANAGER_EVENT,
|
41
|
+
extractSourceInformationCoordinates,
|
42
|
+
LAMBDA_PIPE,
|
43
|
+
RawLambda,
|
44
|
+
isStubbed_RawLambda,
|
45
|
+
} from '@finos/legend-graph';
|
46
|
+
import {
|
47
|
+
DEFAULT_LAMBDA_VARIABLE_NAME,
|
48
|
+
QUERY_BUILDER_SOURCE_ID_LABEL,
|
49
|
+
} from '../../../QueryBuilder_Const.js';
|
50
|
+
import { QueryBuilderAggregationState } from './aggregation/QueryBuilderAggregationState.js';
|
51
|
+
import { buildGenericLambdaFunctionInstanceValue } from '../../QueryBuilderValueSpecificationHelper.js';
|
52
|
+
import { QueryBuilderFetchStructureImplementationState } from '../QueryBuilderFetchStructureImplementationState.js';
|
53
|
+
import { QueryResultSetModifierState } from './QueryResultSetModifierState.js';
|
54
|
+
import { QueryBuilderPostFilterState } from './post-filter/QueryBuilderPostFilterState.js';
|
55
|
+
import type { QueryBuilderPostFilterOperator } from './post-filter/QueryBuilderPostFilterOperator.js';
|
56
|
+
import { getQueryBuilderCorePostFilterOperators } from './post-filter/QueryBuilderPostFilterOperatorLoader.js';
|
57
|
+
import type { QueryBuilderAggregateOperator } from './aggregation/QueryBuilderAggregateOperator.js';
|
58
|
+
import { getQueryBuilderCoreAggregrationOperators } from './aggregation/QueryBuilderAggregateOperatorLoader.js';
|
59
|
+
import {
|
60
|
+
QueryBuilderDerivationProjectionColumnState,
|
61
|
+
type QueryBuilderProjectionColumnState,
|
62
|
+
type QueryBuilderSimpleProjectionColumnState,
|
63
|
+
} from './QueryBuilderProjectionColumnState.js';
|
64
|
+
import type { QueryBuilderFetchStructureState } from '../QueryBuilderFetchStructureState.js';
|
65
|
+
|
66
|
+
export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImplementationState {
|
67
|
+
columns: QueryBuilderProjectionColumnState[] = [];
|
68
|
+
aggregationState: QueryBuilderAggregationState;
|
69
|
+
postFilterState: QueryBuilderPostFilterState;
|
70
|
+
resultSetModifierState: QueryResultSetModifierState;
|
71
|
+
isConvertDerivationProjectionObjects = false;
|
72
|
+
showPostFilterPanel = false;
|
73
|
+
|
74
|
+
postFilterOperators: QueryBuilderPostFilterOperator[] =
|
75
|
+
getQueryBuilderCorePostFilterOperators();
|
76
|
+
aggregationOperators: QueryBuilderAggregateOperator[] =
|
77
|
+
getQueryBuilderCoreAggregrationOperators();
|
78
|
+
|
79
|
+
constructor(
|
80
|
+
queryBuilderState: QueryBuilderState,
|
81
|
+
fetchStructureState: QueryBuilderFetchStructureState,
|
82
|
+
) {
|
83
|
+
super(queryBuilderState, fetchStructureState);
|
84
|
+
|
85
|
+
makeObservable(this, {
|
86
|
+
columns: observable,
|
87
|
+
aggregationState: observable,
|
88
|
+
postFilterState: observable,
|
89
|
+
resultSetModifierState: observable,
|
90
|
+
isConvertDerivationProjectionObjects: observable,
|
91
|
+
showPostFilterPanel: observable,
|
92
|
+
derivations: computed,
|
93
|
+
hasParserError: computed,
|
94
|
+
validationIssues: computed,
|
95
|
+
addColumn: action,
|
96
|
+
moveColumn: action,
|
97
|
+
replaceColumn: action,
|
98
|
+
setShowPostFilterPanel: action,
|
99
|
+
convertDerivationProjectionObjects: flow,
|
100
|
+
});
|
101
|
+
|
102
|
+
this.resultSetModifierState = new QueryResultSetModifierState(this);
|
103
|
+
this.postFilterState = new QueryBuilderPostFilterState(
|
104
|
+
this,
|
105
|
+
this.postFilterOperators,
|
106
|
+
);
|
107
|
+
this.aggregationState = new QueryBuilderAggregationState(
|
108
|
+
this,
|
109
|
+
this.aggregationOperators,
|
110
|
+
);
|
111
|
+
}
|
112
|
+
|
113
|
+
get derivations(): QueryBuilderDerivationProjectionColumnState[] {
|
114
|
+
return this.columns.filter(
|
115
|
+
filterByType(QueryBuilderDerivationProjectionColumnState),
|
116
|
+
);
|
117
|
+
}
|
118
|
+
|
119
|
+
get hasParserError(): boolean {
|
120
|
+
return this.derivations.some(
|
121
|
+
(derivation) => derivation.derivationLambdaEditorState.parserError,
|
122
|
+
);
|
123
|
+
}
|
124
|
+
|
125
|
+
get validationIssues(): string[] | undefined {
|
126
|
+
const hasDuplicatedProjectionColumns = this.columns.some(
|
127
|
+
(column) =>
|
128
|
+
this.columns.filter((c) => c.columnName === column.columnName).length >
|
129
|
+
1,
|
130
|
+
);
|
131
|
+
if (hasDuplicatedProjectionColumns) {
|
132
|
+
return ['Query has duplicated projection columns'];
|
133
|
+
}
|
134
|
+
const hasNoProjectionColumns = this.columns.length === 0;
|
135
|
+
if (hasNoProjectionColumns) {
|
136
|
+
return ['Query has no projection columns'];
|
137
|
+
}
|
138
|
+
return undefined;
|
139
|
+
}
|
140
|
+
|
141
|
+
setShowPostFilterPanel(val: boolean): void {
|
142
|
+
this.showPostFilterPanel = val;
|
143
|
+
}
|
144
|
+
|
145
|
+
*convertDerivationProjectionObjects(): GeneratorFn<void> {
|
146
|
+
const lambdas = new Map<string, RawLambda>();
|
147
|
+
const derivationProjectionColumnStateMap = new Map<
|
148
|
+
string,
|
149
|
+
QueryBuilderDerivationProjectionColumnState
|
150
|
+
>();
|
151
|
+
this.derivations.forEach((derivationProjectionColumnState) => {
|
152
|
+
if (!isStubbed_RawLambda(derivationProjectionColumnState.lambda)) {
|
153
|
+
lambdas.set(
|
154
|
+
derivationProjectionColumnState.derivationLambdaEditorState.lambdaId,
|
155
|
+
derivationProjectionColumnState.lambda,
|
156
|
+
);
|
157
|
+
derivationProjectionColumnStateMap.set(
|
158
|
+
derivationProjectionColumnState.derivationLambdaEditorState.lambdaId,
|
159
|
+
derivationProjectionColumnState,
|
160
|
+
);
|
161
|
+
}
|
162
|
+
});
|
163
|
+
if (lambdas.size) {
|
164
|
+
this.isConvertDerivationProjectionObjects = true;
|
165
|
+
try {
|
166
|
+
const isolatedLambdas =
|
167
|
+
(yield this.queryBuilderState.graphManagerState.graphManager.lambdasToPureCode(
|
168
|
+
lambdas,
|
169
|
+
)) as Map<string, string>;
|
170
|
+
isolatedLambdas.forEach((grammarText, key) => {
|
171
|
+
const derivationProjectionColumnState =
|
172
|
+
derivationProjectionColumnStateMap.get(key);
|
173
|
+
derivationProjectionColumnState?.derivationLambdaEditorState.setLambdaString(
|
174
|
+
derivationProjectionColumnState.derivationLambdaEditorState.extractLambdaString(
|
175
|
+
grammarText,
|
176
|
+
),
|
177
|
+
);
|
178
|
+
});
|
179
|
+
} catch (error) {
|
180
|
+
assertErrorThrown(error);
|
181
|
+
this.queryBuilderState.applicationStore.log.error(
|
182
|
+
LogEvent.create(GRAPH_MANAGER_EVENT.PARSING_FAILURE),
|
183
|
+
error,
|
184
|
+
);
|
185
|
+
} finally {
|
186
|
+
this.isConvertDerivationProjectionObjects = false;
|
187
|
+
}
|
188
|
+
}
|
189
|
+
}
|
190
|
+
|
191
|
+
transformSimpleProjectionToDerivation(
|
192
|
+
simpleProjectionColumnState: QueryBuilderSimpleProjectionColumnState,
|
193
|
+
): void {
|
194
|
+
// setup new derivation column state
|
195
|
+
const columnColumnLambda = buildGenericLambdaFunctionInstanceValue(
|
196
|
+
simpleProjectionColumnState.lambdaParameterName,
|
197
|
+
[simpleProjectionColumnState.propertyExpressionState.propertyExpression],
|
198
|
+
this.queryBuilderState.graphManagerState.graph,
|
199
|
+
);
|
200
|
+
const derivationColumnState =
|
201
|
+
new QueryBuilderDerivationProjectionColumnState(
|
202
|
+
this,
|
203
|
+
guaranteeType(
|
204
|
+
this.queryBuilderState.graphManagerState.graphManager.buildRawValueSpecification(
|
205
|
+
columnColumnLambda,
|
206
|
+
this.queryBuilderState.graphManagerState.graph,
|
207
|
+
),
|
208
|
+
RawLambda,
|
209
|
+
),
|
210
|
+
);
|
211
|
+
derivationColumnState.setColumnName(simpleProjectionColumnState.columnName);
|
212
|
+
|
213
|
+
this.replaceColumn(simpleProjectionColumnState, derivationColumnState);
|
214
|
+
|
215
|
+
// convert to grammar for display
|
216
|
+
flowResult(
|
217
|
+
derivationColumnState.derivationLambdaEditorState.convertLambdaObjectToGrammarString(
|
218
|
+
false,
|
219
|
+
),
|
220
|
+
).catch(this.queryBuilderState.applicationStore.alertUnhandledError);
|
221
|
+
}
|
222
|
+
|
223
|
+
replaceColumn(
|
224
|
+
oldVal: QueryBuilderProjectionColumnState,
|
225
|
+
newVal: QueryBuilderProjectionColumnState,
|
226
|
+
): void {
|
227
|
+
// reassociation with column aggregation state if applicable
|
228
|
+
const corresspondingAggregateColumnState =
|
229
|
+
this.aggregationState.columns.find(
|
230
|
+
(aggregateColState) =>
|
231
|
+
aggregateColState.projectionColumnState === oldVal,
|
232
|
+
);
|
233
|
+
if (corresspondingAggregateColumnState) {
|
234
|
+
corresspondingAggregateColumnState.setColumnState(newVal);
|
235
|
+
}
|
236
|
+
|
237
|
+
// reassociation with column sorting state if applicable
|
238
|
+
const corresspondingSortColumnState =
|
239
|
+
this.resultSetModifierState.sortColumns.find(
|
240
|
+
(sortColState) => sortColState.columnState === oldVal,
|
241
|
+
);
|
242
|
+
if (corresspondingSortColumnState) {
|
243
|
+
corresspondingSortColumnState.setColumnState(newVal);
|
244
|
+
}
|
245
|
+
|
246
|
+
changeEntry(this.columns, oldVal, newVal);
|
247
|
+
}
|
248
|
+
|
249
|
+
removeColumn(val: QueryBuilderProjectionColumnState): void {
|
250
|
+
deleteEntry(this.columns, val);
|
251
|
+
|
252
|
+
// remove aggregation that goes with the projection
|
253
|
+
const existingAggregateColumnState = this.aggregationState.columns.find(
|
254
|
+
(column) => column.projectionColumnState === val,
|
255
|
+
);
|
256
|
+
if (existingAggregateColumnState) {
|
257
|
+
this.aggregationState.removeColumn(existingAggregateColumnState);
|
258
|
+
}
|
259
|
+
|
260
|
+
this.resultSetModifierState.updateSortColumns();
|
261
|
+
}
|
262
|
+
|
263
|
+
addColumn(
|
264
|
+
val: QueryBuilderProjectionColumnState,
|
265
|
+
options?: {
|
266
|
+
/**
|
267
|
+
* Often time, we would want to enforce doing a sort when adding new column
|
268
|
+
* to ensure aggregate columns stay at the bottom of the list of projections
|
269
|
+
* But sometimes, we can opt in to use this flag to disable this sorting behavior,
|
270
|
+
* such as when we build/process.
|
271
|
+
*/
|
272
|
+
skipSorting?: boolean | undefined;
|
273
|
+
},
|
274
|
+
): void {
|
275
|
+
addUniqueEntry(this.columns, val);
|
276
|
+
|
277
|
+
if (!options?.skipSorting) {
|
278
|
+
// sort columns: aggregate columns go last
|
279
|
+
this.columns = this.columns
|
280
|
+
.slice()
|
281
|
+
.sort(
|
282
|
+
(colA, colB) =>
|
283
|
+
(this.aggregationState.columns.find(
|
284
|
+
(column) => column.projectionColumnState === colA,
|
285
|
+
)
|
286
|
+
? 1
|
287
|
+
: 0) -
|
288
|
+
(this.aggregationState.columns.find(
|
289
|
+
(column) => column.projectionColumnState === colB,
|
290
|
+
)
|
291
|
+
? 1
|
292
|
+
: 0),
|
293
|
+
);
|
294
|
+
}
|
295
|
+
}
|
296
|
+
|
297
|
+
moveColumn(sourceIndex: number, targetIndex: number): void {
|
298
|
+
if (
|
299
|
+
sourceIndex < 0 ||
|
300
|
+
sourceIndex >= this.columns.length ||
|
301
|
+
targetIndex < 0 ||
|
302
|
+
targetIndex >= this.columns.length
|
303
|
+
) {
|
304
|
+
return;
|
305
|
+
}
|
306
|
+
|
307
|
+
const sourceColumn = guaranteeNonNullable(this.columns[sourceIndex]);
|
308
|
+
|
309
|
+
// find last non aggregate column index for computation
|
310
|
+
const lastNonAggregateColumn = findLast(
|
311
|
+
this.columns,
|
312
|
+
(projectionCol) =>
|
313
|
+
!this.aggregationState.columns.find(
|
314
|
+
(column) => column.projectionColumnState === projectionCol,
|
315
|
+
),
|
316
|
+
);
|
317
|
+
|
318
|
+
const lastNonAggregateColumnIndex = lastNonAggregateColumn
|
319
|
+
? this.columns.lastIndexOf(lastNonAggregateColumn)
|
320
|
+
: 0;
|
321
|
+
if (
|
322
|
+
this.aggregationState.columns.find(
|
323
|
+
(column) => column.projectionColumnState === sourceColumn,
|
324
|
+
)
|
325
|
+
) {
|
326
|
+
// if the column being moved is an aggregate column,
|
327
|
+
// it cannot be moved to before the first aggregate column
|
328
|
+
targetIndex = Math.max(
|
329
|
+
targetIndex,
|
330
|
+
Math.min(lastNonAggregateColumnIndex + 1, this.columns.length - 1),
|
331
|
+
);
|
332
|
+
} else {
|
333
|
+
// if the column being moved is not an aggregate column,
|
334
|
+
// it cannot be moved to after the last non-aggregate column
|
335
|
+
targetIndex = Math.min(targetIndex, lastNonAggregateColumnIndex);
|
336
|
+
}
|
337
|
+
|
338
|
+
// move
|
339
|
+
this.columns.splice(sourceIndex, 1);
|
340
|
+
this.columns.splice(targetIndex, 0, sourceColumn);
|
341
|
+
}
|
342
|
+
|
343
|
+
addNewBlankDerivation(): void {
|
344
|
+
const derivation = new QueryBuilderDerivationProjectionColumnState(
|
345
|
+
this,
|
346
|
+
this.queryBuilderState.graphManagerState.graphManager.createDefaultBasicRawLambda(
|
347
|
+
{ addDummyParameter: true },
|
348
|
+
),
|
349
|
+
);
|
350
|
+
this.addColumn(derivation);
|
351
|
+
derivation.derivationLambdaEditorState.setLambdaString(
|
352
|
+
`${DEFAULT_LAMBDA_VARIABLE_NAME}${LAMBDA_PIPE}''`,
|
353
|
+
);
|
354
|
+
}
|
355
|
+
|
356
|
+
revealCompilationError(compilationError: CompilationError): boolean {
|
357
|
+
const elementCoordinates = extractSourceInformationCoordinates(
|
358
|
+
compilationError.sourceInformation,
|
359
|
+
);
|
360
|
+
if (
|
361
|
+
elementCoordinates &&
|
362
|
+
elementCoordinates.length === 3 &&
|
363
|
+
elementCoordinates[0] === QUERY_BUILDER_SOURCE_ID_LABEL.QUERY_BUILDER &&
|
364
|
+
elementCoordinates[1] === QUERY_BUILDER_SOURCE_ID_LABEL.PROJECTION
|
365
|
+
) {
|
366
|
+
const derivationProjectionState = this.columns.find(
|
367
|
+
(projectionColumnState) =>
|
368
|
+
projectionColumnState.uuid === elementCoordinates[2],
|
369
|
+
);
|
370
|
+
if (
|
371
|
+
derivationProjectionState instanceof
|
372
|
+
QueryBuilderDerivationProjectionColumnState
|
373
|
+
) {
|
374
|
+
derivationProjectionState.derivationLambdaEditorState.setCompilationError(
|
375
|
+
compilationError,
|
376
|
+
);
|
377
|
+
return true;
|
378
|
+
}
|
379
|
+
}
|
380
|
+
return false;
|
381
|
+
}
|
382
|
+
|
383
|
+
clearCompilationError(): void {
|
384
|
+
this.derivations.forEach((derivationProjectionColumnState) =>
|
385
|
+
derivationProjectionColumnState.derivationLambdaEditorState.setCompilationError(
|
386
|
+
undefined,
|
387
|
+
),
|
388
|
+
);
|
389
|
+
}
|
390
|
+
}
|
package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts
ADDED
@@ -0,0 +1,170 @@
|
|
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
|
+
type LambdaFunction,
|
19
|
+
CollectionInstanceValue,
|
20
|
+
extractElementNameFromPath,
|
21
|
+
GenericType,
|
22
|
+
GenericTypeExplicitReference,
|
23
|
+
matchFunctionName,
|
24
|
+
Multiplicity,
|
25
|
+
PrimitiveInstanceValue,
|
26
|
+
PRIMITIVE_TYPE,
|
27
|
+
SimpleFunctionExpression,
|
28
|
+
TYPICAL_MULTIPLICITY_TYPE,
|
29
|
+
} from '@finos/legend-graph';
|
30
|
+
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../QueryBuilder_Const.js';
|
31
|
+
import {
|
32
|
+
COLUMN_SORT_TYPE,
|
33
|
+
type QueryResultSetModifierState,
|
34
|
+
type SortColumnState,
|
35
|
+
} from './QueryResultSetModifierState.js';
|
36
|
+
|
37
|
+
const buildSortExpression = (
|
38
|
+
sortColumnState: SortColumnState,
|
39
|
+
): SimpleFunctionExpression => {
|
40
|
+
const multiplicityOne =
|
41
|
+
sortColumnState.columnState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
|
42
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
43
|
+
);
|
44
|
+
const sortColumnFunction = new SimpleFunctionExpression(
|
45
|
+
extractElementNameFromPath(
|
46
|
+
sortColumnState.sortType === COLUMN_SORT_TYPE.ASC
|
47
|
+
? QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_ASC
|
48
|
+
: QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DESC,
|
49
|
+
),
|
50
|
+
multiplicityOne,
|
51
|
+
);
|
52
|
+
const sortColumnName = new PrimitiveInstanceValue(
|
53
|
+
GenericTypeExplicitReference.create(
|
54
|
+
new GenericType(
|
55
|
+
sortColumnState.columnState.projectionState.queryBuilderState.graphManagerState.graph.getPrimitiveType(
|
56
|
+
PRIMITIVE_TYPE.STRING,
|
57
|
+
),
|
58
|
+
),
|
59
|
+
),
|
60
|
+
multiplicityOne,
|
61
|
+
);
|
62
|
+
sortColumnName.values = [sortColumnState.columnState.columnName];
|
63
|
+
sortColumnFunction.parametersValues[0] = sortColumnName;
|
64
|
+
return sortColumnFunction;
|
65
|
+
};
|
66
|
+
|
67
|
+
export const appendResultSetModifiers = (
|
68
|
+
resultModifiersState: QueryResultSetModifierState,
|
69
|
+
lambda: LambdaFunction,
|
70
|
+
options?:
|
71
|
+
| {
|
72
|
+
overridingLimit?: number | undefined;
|
73
|
+
}
|
74
|
+
| undefined,
|
75
|
+
): LambdaFunction => {
|
76
|
+
const multiplicityOne =
|
77
|
+
resultModifiersState.projectionState.queryBuilderState.graphManagerState.graph.getTypicalMultiplicity(
|
78
|
+
TYPICAL_MULTIPLICITY_TYPE.ONE,
|
79
|
+
);
|
80
|
+
if (lambda.expressionSequence.length === 1) {
|
81
|
+
const func = lambda.expressionSequence[0];
|
82
|
+
if (func instanceof SimpleFunctionExpression) {
|
83
|
+
if (
|
84
|
+
matchFunctionName(
|
85
|
+
func.functionName,
|
86
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_PROJECT,
|
87
|
+
) ||
|
88
|
+
matchFunctionName(
|
89
|
+
func.functionName,
|
90
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_GROUP_BY,
|
91
|
+
) ||
|
92
|
+
matchFunctionName(
|
93
|
+
func.functionName,
|
94
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_FILTER,
|
95
|
+
)
|
96
|
+
) {
|
97
|
+
let currentExpression = func;
|
98
|
+
|
99
|
+
// build distinct()
|
100
|
+
if (resultModifiersState.distinct) {
|
101
|
+
const distinctFunction = new SimpleFunctionExpression(
|
102
|
+
extractElementNameFromPath(
|
103
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_DISTINCT,
|
104
|
+
),
|
105
|
+
multiplicityOne,
|
106
|
+
);
|
107
|
+
distinctFunction.parametersValues[0] = currentExpression;
|
108
|
+
currentExpression = distinctFunction;
|
109
|
+
}
|
110
|
+
|
111
|
+
// build sort()
|
112
|
+
if (resultModifiersState.sortColumns.length) {
|
113
|
+
const sortFunction = new SimpleFunctionExpression(
|
114
|
+
extractElementNameFromPath(
|
115
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_SORT,
|
116
|
+
),
|
117
|
+
multiplicityOne,
|
118
|
+
);
|
119
|
+
const multiplicity = new Multiplicity(
|
120
|
+
resultModifiersState.sortColumns.length,
|
121
|
+
resultModifiersState.sortColumns.length,
|
122
|
+
);
|
123
|
+
const collection = new CollectionInstanceValue(
|
124
|
+
multiplicity,
|
125
|
+
undefined,
|
126
|
+
);
|
127
|
+
collection.values =
|
128
|
+
resultModifiersState.sortColumns.map(buildSortExpression);
|
129
|
+
sortFunction.parametersValues[0] = currentExpression;
|
130
|
+
sortFunction.parametersValues[1] = collection;
|
131
|
+
currentExpression = sortFunction;
|
132
|
+
}
|
133
|
+
|
134
|
+
// build take()
|
135
|
+
if (resultModifiersState.limit || options?.overridingLimit) {
|
136
|
+
const limit = new PrimitiveInstanceValue(
|
137
|
+
GenericTypeExplicitReference.create(
|
138
|
+
new GenericType(
|
139
|
+
resultModifiersState.projectionState.queryBuilderState.graphManagerState.graph.getPrimitiveType(
|
140
|
+
PRIMITIVE_TYPE.INTEGER,
|
141
|
+
),
|
142
|
+
),
|
143
|
+
),
|
144
|
+
multiplicityOne,
|
145
|
+
);
|
146
|
+
limit.values = [
|
147
|
+
Math.min(
|
148
|
+
resultModifiersState.limit ?? Number.MAX_SAFE_INTEGER,
|
149
|
+
options?.overridingLimit ?? Number.MAX_SAFE_INTEGER,
|
150
|
+
),
|
151
|
+
];
|
152
|
+
const takeFunction = new SimpleFunctionExpression(
|
153
|
+
extractElementNameFromPath(
|
154
|
+
QUERY_BUILDER_SUPPORTED_FUNCTIONS.TDS_TAKE,
|
155
|
+
),
|
156
|
+
multiplicityOne,
|
157
|
+
);
|
158
|
+
|
159
|
+
takeFunction.parametersValues[0] = currentExpression;
|
160
|
+
takeFunction.parametersValues[1] = limit;
|
161
|
+
currentExpression = takeFunction;
|
162
|
+
}
|
163
|
+
|
164
|
+
lambda.expressionSequence[0] = currentExpression;
|
165
|
+
return lambda;
|
166
|
+
}
|
167
|
+
}
|
168
|
+
}
|
169
|
+
return lambda;
|
170
|
+
};
|
@@ -0,0 +1,95 @@
|
|
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 { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
|
19
|
+
import type { QueryBuilderProjectionColumnState } from './QueryBuilderProjectionColumnState.js';
|
20
|
+
import { addUniqueEntry, deleteEntry } from '@finos/legend-shared';
|
21
|
+
|
22
|
+
export enum COLUMN_SORT_TYPE {
|
23
|
+
ASC,
|
24
|
+
DESC,
|
25
|
+
}
|
26
|
+
|
27
|
+
export class SortColumnState {
|
28
|
+
columnState: QueryBuilderProjectionColumnState;
|
29
|
+
sortType = COLUMN_SORT_TYPE.ASC;
|
30
|
+
|
31
|
+
constructor(columnState: QueryBuilderProjectionColumnState) {
|
32
|
+
makeAutoObservable(this, {
|
33
|
+
setColumnState: action,
|
34
|
+
setSortType: action,
|
35
|
+
});
|
36
|
+
|
37
|
+
this.columnState = columnState;
|
38
|
+
}
|
39
|
+
|
40
|
+
setColumnState(val: QueryBuilderProjectionColumnState): void {
|
41
|
+
this.columnState = val;
|
42
|
+
}
|
43
|
+
|
44
|
+
setSortType(val: COLUMN_SORT_TYPE): void {
|
45
|
+
this.sortType = val;
|
46
|
+
}
|
47
|
+
}
|
48
|
+
|
49
|
+
export class QueryResultSetModifierState {
|
50
|
+
projectionState: QueryBuilderProjectionState;
|
51
|
+
showModal = false;
|
52
|
+
limit?: number | undefined;
|
53
|
+
distinct = false;
|
54
|
+
sortColumns: SortColumnState[] = [];
|
55
|
+
|
56
|
+
constructor(projectionState: QueryBuilderProjectionState) {
|
57
|
+
makeAutoObservable(this, {
|
58
|
+
projectionState: false,
|
59
|
+
setShowModal: action,
|
60
|
+
setLimit: action,
|
61
|
+
toggleDistinct: action,
|
62
|
+
deleteSortColumn: action,
|
63
|
+
addSortColumn: action,
|
64
|
+
updateSortColumns: action,
|
65
|
+
});
|
66
|
+
|
67
|
+
this.projectionState = projectionState;
|
68
|
+
}
|
69
|
+
|
70
|
+
setShowModal(val: boolean): void {
|
71
|
+
this.showModal = val;
|
72
|
+
}
|
73
|
+
|
74
|
+
setLimit(val: number | undefined): void {
|
75
|
+
this.limit = val === undefined || val <= 0 ? undefined : val;
|
76
|
+
}
|
77
|
+
|
78
|
+
toggleDistinct(): void {
|
79
|
+
this.distinct = !this.distinct;
|
80
|
+
}
|
81
|
+
|
82
|
+
deleteSortColumn(val: SortColumnState): void {
|
83
|
+
deleteEntry(this.sortColumns, val);
|
84
|
+
}
|
85
|
+
|
86
|
+
addSortColumn(val: SortColumnState): void {
|
87
|
+
addUniqueEntry(this.sortColumns, val);
|
88
|
+
}
|
89
|
+
|
90
|
+
updateSortColumns(): void {
|
91
|
+
this.sortColumns = this.sortColumns.filter((e) =>
|
92
|
+
this.projectionState.columns.includes(e.columnState),
|
93
|
+
);
|
94
|
+
}
|
95
|
+
}
|