@finos/legend-query-builder 0.0.2 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/QueryBuilder.d.ts +1 -0
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +14 -4
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderDiffPanel.d.ts +23 -0
- package/lib/components/QueryBuilderDiffPanel.d.ts.map +1 -0
- package/lib/components/QueryBuilderDiffPanel.js +103 -0
- package/lib/components/QueryBuilderDiffPanel.js.map +1 -0
- package/lib/components/QueryBuilderParametersPanel.d.ts +1 -0
- package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.js +2 -2
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts +1 -0
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts +1 -0
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +9 -10
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts +1 -0
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +1 -1
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.d.ts +1 -0
- package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts +1 -0
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js +2 -2
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
- package/lib/components/QuerySetupUtils.d.ts +22 -0
- package/lib/components/QuerySetupUtils.d.ts.map +1 -0
- package/lib/components/QuerySetupUtils.js +20 -0
- package/lib/components/QuerySetupUtils.js.map +1 -0
- package/lib/components/ServiceQuerySetupUtils.d.ts +23 -0
- package/lib/components/ServiceQuerySetupUtils.d.ts.map +1 -0
- package/lib/components/ServiceQuerySetupUtils.js +25 -0
- package/lib/components/ServiceQuerySetupUtils.js.map +1 -0
- package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +4 -10
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts +1 -0
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +8 -6
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
- package/lib/components/explorer/{QueryBuilderMilestoneEditor.d.ts → QueryBuilderMilestoningEditor.d.ts} +2 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -0
- package/lib/components/explorer/{QueryBuilderMilestoneEditor.js → QueryBuilderMilestoningEditor.js} +9 -9
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -0
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts +1 -0
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +69 -61
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts +1 -0
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +3 -3
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +1 -0
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts +1 -0
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +3 -3
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts +1 -0
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js +3 -5
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +1 -0
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts +1 -0
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +5 -9
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +1 -0
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js +7 -2
- package/lib/components/shared/QueryBuilderPropertyInfoTooltip.js.map +1 -1
- package/lib/graphManager/QueryBuilderHashUtils.d.ts +84 -0
- package/lib/graphManager/QueryBuilderHashUtils.d.ts.map +1 -0
- package/lib/graphManager/QueryBuilderHashUtils.js +91 -0
- package/lib/graphManager/QueryBuilderHashUtils.js.map +1 -0
- package/lib/index.css +17 -1
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +4 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +4 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +11 -9
- package/lib/stores/QueryBuilderChangeDetectionState.d.ts +27 -5
- package/lib/stores/QueryBuilderChangeDetectionState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderChangeDetectionState.js +106 -10
- package/lib/stores/QueryBuilderChangeDetectionState.js.map +1 -1
- package/lib/stores/QueryBuilderConfig.d.ts +1 -0
- package/lib/stores/QueryBuilderConfig.d.ts.map +1 -1
- package/lib/stores/QueryBuilderConfig.js +1 -0
- package/lib/stores/QueryBuilderConfig.js.map +1 -1
- package/lib/stores/QueryBuilderMilestoningState.d.ts +3 -1
- package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderMilestoningState.js +10 -0
- package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts +4 -2
- package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderParametersState.js +11 -2
- package/lib/stores/QueryBuilderParametersState.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts +5 -3
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +15 -5
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.d.ts +5 -3
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +26 -6
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +3 -5
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +32 -22
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateTestUtils.js +1 -1
- package/lib/stores/QueryBuilderStateTestUtils.js.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.js +3 -4
- package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
- package/lib/stores/QueryBuilderUnsupportedQueryState.d.ts +4 -2
- package/lib/stores/QueryBuilderUnsupportedQueryState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderUnsupportedQueryState.js +10 -1
- package/lib/stores/QueryBuilderUnsupportedQueryState.js.map +1 -1
- package/lib/stores/ServiceInfo.d.ts +28 -0
- package/lib/stores/ServiceInfo.d.ts.map +1 -0
- package/lib/stores/ServiceInfo.js +34 -0
- package/lib/stores/ServiceInfo.js.map +1 -0
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +6 -6
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +19 -14
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts +36 -17
- package/lib/stores/explorer/QueryBuilderPropertySearchState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchState.js +203 -161
- package/lib/stores/explorer/QueryBuilderPropertySearchState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +5 -3
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +1 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +3 -3
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +3 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +9 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts +7 -5
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +20 -5
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +7 -4
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +20 -5
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +6 -5
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +14 -9
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts +6 -3
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js +28 -5
- package/lib/stores/fetch-structure/projection/QueryResultSetModifierState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts +4 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js +7 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts +8 -5
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js +24 -7
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +5 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +5 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +7 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +7 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +7 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +7 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +7 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +5 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts +14 -8
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js +54 -4
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts +4 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +12 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts +4 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +12 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts +4 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +7 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +7 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts +4 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +10 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts +4 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +12 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +7 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts +3 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +7 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts +5 -2
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +12 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterOperator.d.ts +3 -1
- package/lib/stores/filter/QueryBuilderFilterOperator.d.ts.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterOperator.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.d.ts +14 -8
- package/lib/stores/filter/QueryBuilderFilterState.d.ts.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterState.js +54 -9
- package/lib/stores/filter/QueryBuilderFilterState.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts +4 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +10 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts +4 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +10 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts +4 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +8 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts +3 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +7 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts +3 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +7 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts +4 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +8 -0
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts +4 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +10 -0
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts +3 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +5 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts +3 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +7 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts +4 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +10 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.d.ts.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.js +15 -7
- package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
- package/package.json +17 -15
- package/src/components/QueryBuilder.tsx +41 -1
- package/src/components/QueryBuilderDiffPanel.tsx +222 -0
- package/src/components/QueryBuilderParametersPanel.tsx +2 -2
- package/src/components/QueryBuilderResultPanel.tsx +34 -20
- package/src/components/QueryBuilderSideBar.tsx +1 -1
- package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +8 -9
- package/src/components/QuerySetupUtils.ts +23 -0
- package/src/components/ServiceQuerySetupUtils.tsx +54 -0
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +5 -12
- package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +24 -14
- package/src/components/explorer/{QueryBuilderMilestoneEditor.tsx → QueryBuilderMilestoningEditor.tsx} +12 -8
- package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +156 -145
- package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +10 -5
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +5 -4
- package/src/components/fetch-structure/QueryBuilderProjectionPanel.tsx +4 -7
- package/src/components/filter/QueryBuilderFilterPanel.tsx +6 -15
- package/src/components/shared/QueryBuilderPropertyInfoTooltip.tsx +22 -0
- package/src/graphManager/QueryBuilderHashUtils.ts +95 -0
- package/src/index.ts +4 -0
- package/src/stores/QueryBuilderChangeDetectionState.ts +143 -10
- package/src/stores/QueryBuilderConfig.ts +2 -0
- package/src/stores/QueryBuilderMilestoningState.ts +12 -1
- package/src/stores/QueryBuilderParametersState.ts +18 -3
- package/src/stores/QueryBuilderPropertyEditorState.ts +19 -7
- package/src/stores/QueryBuilderResultState.ts +30 -8
- package/src/stores/QueryBuilderState.ts +50 -37
- package/src/stores/QueryBuilderStateTestUtils.ts +1 -1
- package/src/stores/QueryBuilderTextEditorState.ts +1 -1
- package/src/stores/QueryBuilderTypeaheadHelper.ts +6 -5
- package/src/stores/QueryBuilderUnsupportedQueryState.ts +13 -3
- package/src/stores/ServiceInfo.ts +52 -0
- package/src/stores/explorer/QueryBuilderExplorerState.ts +26 -30
- package/src/stores/explorer/QueryBuilderPropertySearchState.ts +259 -193
- package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +8 -3
- package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +4 -4
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +18 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +31 -6
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +34 -9
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +23 -16
- package/src/stores/fetch-structure/projection/QueryResultSetModifierState.ts +38 -8
- package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregateOperator.ts +15 -2
- package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationState.ts +37 -12
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +10 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +10 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +12 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +17 -2
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +17 -2
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +10 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +10 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +12 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +12 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +10 -1
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterOperator.ts +4 -2
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.ts +78 -10
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +19 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +22 -2
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +17 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +13 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +8 -0
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +20 -2
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +18 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +13 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +12 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +26 -3
- package/src/stores/filter/QueryBuilderFilterOperator.ts +4 -2
- package/src/stores/filter/QueryBuilderFilterState.ts +80 -22
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +20 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +20 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +18 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +16 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +16 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +14 -1
- package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +16 -1
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +14 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +16 -2
- package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +20 -2
- package/src/stores/workflows/ServiceQueryBuilderState.ts +24 -9
- package/tsconfig.json +8 -2
- package/lib/components/explorer/QueryBuilderMilestoneEditor.d.ts.map +0 -1
- package/lib/components/explorer/QueryBuilderMilestoneEditor.js.map +0 -1
|
@@ -14,7 +14,13 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
assertType,
|
|
19
|
+
addUniqueEntry,
|
|
20
|
+
deleteEntry,
|
|
21
|
+
hashArray,
|
|
22
|
+
type Hashable,
|
|
23
|
+
} from '@finos/legend-shared';
|
|
18
24
|
import type { TreeNodeData, TreeData } from '@finos/legend-art';
|
|
19
25
|
import {
|
|
20
26
|
type AbstractProperty,
|
|
@@ -37,15 +43,19 @@ import {
|
|
|
37
43
|
graphFetchTree_addSubTree,
|
|
38
44
|
graphFetchTree_removeSubTree,
|
|
39
45
|
} from '@finos/legend-application';
|
|
46
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
|
|
47
|
+
import { computed, makeObservable } from 'mobx';
|
|
40
48
|
|
|
41
|
-
export class QueryBuilderGraphFetchTreeNodeData
|
|
49
|
+
export class QueryBuilderGraphFetchTreeNodeData
|
|
50
|
+
implements TreeNodeData, Hashable
|
|
51
|
+
{
|
|
52
|
+
readonly id: string;
|
|
53
|
+
readonly label: string;
|
|
54
|
+
readonly tree: PropertyGraphFetchTree;
|
|
55
|
+
readonly parentId?: string | undefined;
|
|
42
56
|
isSelected?: boolean | undefined;
|
|
43
57
|
isOpen?: boolean | undefined;
|
|
44
|
-
id: string;
|
|
45
|
-
label: string;
|
|
46
58
|
childrenIds: string[] = [];
|
|
47
|
-
parentId?: string | undefined;
|
|
48
|
-
tree: PropertyGraphFetchTree;
|
|
49
59
|
|
|
50
60
|
constructor(
|
|
51
61
|
id: string,
|
|
@@ -53,6 +63,10 @@ export class QueryBuilderGraphFetchTreeNodeData implements TreeNodeData {
|
|
|
53
63
|
parentId: string | undefined,
|
|
54
64
|
graphFetchTreeNode: PropertyGraphFetchTree,
|
|
55
65
|
) {
|
|
66
|
+
makeObservable(this, {
|
|
67
|
+
hashCode: computed,
|
|
68
|
+
});
|
|
69
|
+
|
|
56
70
|
this.id = id;
|
|
57
71
|
this.label = label;
|
|
58
72
|
this.parentId = parentId;
|
|
@@ -64,6 +78,17 @@ export class QueryBuilderGraphFetchTreeNodeData implements TreeNodeData {
|
|
|
64
78
|
get type(): Type {
|
|
65
79
|
return this.tree.property.value.genericType.value.rawType;
|
|
66
80
|
}
|
|
81
|
+
|
|
82
|
+
get hashCode(): string {
|
|
83
|
+
return hashArray([
|
|
84
|
+
QUERY_BUILDER_HASH_STRUCTURE.GRAPH_FETCH_TREE_NODE_DATA,
|
|
85
|
+
this.id,
|
|
86
|
+
this.label,
|
|
87
|
+
this.tree,
|
|
88
|
+
this.parentId ?? '',
|
|
89
|
+
hashArray(this.childrenIds),
|
|
90
|
+
]);
|
|
91
|
+
}
|
|
67
92
|
}
|
|
68
93
|
|
|
69
94
|
export interface QueryBuilderGraphFetchTreeData
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { action, makeObservable, observable, flow } from 'mobx';
|
|
17
|
+
import { action, makeObservable, observable, flow, computed } from 'mobx';
|
|
18
18
|
import {
|
|
19
19
|
type GeneratorFn,
|
|
20
20
|
LogEvent,
|
|
@@ -23,6 +23,8 @@ import {
|
|
|
23
23
|
guaranteeNonNullable,
|
|
24
24
|
assertTrue,
|
|
25
25
|
assertNonEmptyString,
|
|
26
|
+
type Hashable,
|
|
27
|
+
hashArray,
|
|
26
28
|
} from '@finos/legend-shared';
|
|
27
29
|
import {
|
|
28
30
|
type QueryBuilderExplorerTreePropertyNodeData,
|
|
@@ -54,6 +56,7 @@ import {
|
|
|
54
56
|
} from '../../QueryBuilderConfig.js';
|
|
55
57
|
import { LambdaEditorState } from '@finos/legend-application';
|
|
56
58
|
import type { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
|
|
59
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
|
|
57
60
|
|
|
58
61
|
export const QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE = 'PROJECTION_COLUMN';
|
|
59
62
|
|
|
@@ -61,7 +64,7 @@ export interface QueryBuilderProjectionColumnDragSource {
|
|
|
61
64
|
columnState: QueryBuilderProjectionColumnState;
|
|
62
65
|
}
|
|
63
66
|
|
|
64
|
-
export abstract class QueryBuilderProjectionColumnState {
|
|
67
|
+
export abstract class QueryBuilderProjectionColumnState implements Hashable {
|
|
65
68
|
readonly uuid = uuid();
|
|
66
69
|
projectionState: QueryBuilderProjectionState;
|
|
67
70
|
columnName: string;
|
|
@@ -75,6 +78,7 @@ export abstract class QueryBuilderProjectionColumnState {
|
|
|
75
78
|
projectionState: false,
|
|
76
79
|
columnName: observable,
|
|
77
80
|
setColumnName: action,
|
|
81
|
+
hashCode: computed,
|
|
78
82
|
});
|
|
79
83
|
|
|
80
84
|
this.projectionState = projectionState;
|
|
@@ -86,9 +90,14 @@ export abstract class QueryBuilderProjectionColumnState {
|
|
|
86
90
|
}
|
|
87
91
|
|
|
88
92
|
abstract getReturnType(): Type | undefined;
|
|
93
|
+
|
|
94
|
+
abstract get hashCode(): string;
|
|
89
95
|
}
|
|
90
96
|
|
|
91
|
-
export class QueryBuilderSimpleProjectionColumnState
|
|
97
|
+
export class QueryBuilderSimpleProjectionColumnState
|
|
98
|
+
extends QueryBuilderProjectionColumnState
|
|
99
|
+
implements Hashable
|
|
100
|
+
{
|
|
92
101
|
lambdaParameterName: string = DEFAULT_LAMBDA_VARIABLE_NAME;
|
|
93
102
|
propertyExpressionState: QueryBuilderPropertyExpressionState;
|
|
94
103
|
|
|
@@ -127,12 +136,8 @@ export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProject
|
|
|
127
136
|
this.propertyExpressionState = new QueryBuilderPropertyExpressionState(
|
|
128
137
|
this.projectionState.queryBuilderState,
|
|
129
138
|
buildPropertyExpressionFromExplorerTreeNodeData(
|
|
130
|
-
this.projectionState.queryBuilderState.explorerState
|
|
131
|
-
.nonNullableTreeData,
|
|
132
139
|
node,
|
|
133
|
-
this.projectionState.queryBuilderState.
|
|
134
|
-
this.projectionState.queryBuilderState.explorerState.propertySearchState
|
|
135
|
-
.allMappedPropertyNodes,
|
|
140
|
+
this.projectionState.queryBuilderState.explorerState,
|
|
136
141
|
),
|
|
137
142
|
);
|
|
138
143
|
this.columnName = getPropertyChainName(
|
|
@@ -145,6 +150,14 @@ export class QueryBuilderSimpleProjectionColumnState extends QueryBuilderProject
|
|
|
145
150
|
return this.propertyExpressionState.propertyExpression.func.genericType
|
|
146
151
|
.value.rawType;
|
|
147
152
|
}
|
|
153
|
+
|
|
154
|
+
get hashCode(): string {
|
|
155
|
+
return hashArray([
|
|
156
|
+
QUERY_BUILDER_HASH_STRUCTURE.SIMPLE_PROJECTION_COLUMN_STATE,
|
|
157
|
+
this.propertyExpressionState,
|
|
158
|
+
this.columnName,
|
|
159
|
+
]);
|
|
160
|
+
}
|
|
148
161
|
}
|
|
149
162
|
|
|
150
163
|
class QueryBuilderDerivationProjectionLambdaState extends LambdaEditorState {
|
|
@@ -243,7 +256,10 @@ class QueryBuilderDerivationProjectionLambdaState extends LambdaEditorState {
|
|
|
243
256
|
}
|
|
244
257
|
}
|
|
245
258
|
|
|
246
|
-
export class QueryBuilderDerivationProjectionColumnState
|
|
259
|
+
export class QueryBuilderDerivationProjectionColumnState
|
|
260
|
+
extends QueryBuilderProjectionColumnState
|
|
261
|
+
implements Hashable
|
|
262
|
+
{
|
|
247
263
|
derivationLambdaEditorState: QueryBuilderDerivationProjectionLambdaState;
|
|
248
264
|
lambda: RawLambda;
|
|
249
265
|
returnType: Type | undefined;
|
|
@@ -324,4 +340,13 @@ export class QueryBuilderDerivationProjectionColumnState extends QueryBuilderPro
|
|
|
324
340
|
override getReturnType(): Type | undefined {
|
|
325
341
|
return this.returnType;
|
|
326
342
|
}
|
|
343
|
+
|
|
344
|
+
get hashCode(): string {
|
|
345
|
+
return hashArray([
|
|
346
|
+
QUERY_BUILDER_HASH_STRUCTURE.DERIVATION_PROJECTION_COLUMN_STATE,
|
|
347
|
+
this.returnType ?? '',
|
|
348
|
+
this.lambda,
|
|
349
|
+
this.columnName,
|
|
350
|
+
]);
|
|
351
|
+
}
|
|
327
352
|
}
|
|
@@ -33,6 +33,8 @@ import {
|
|
|
33
33
|
guaranteeNonNullable,
|
|
34
34
|
findLast,
|
|
35
35
|
filterByType,
|
|
36
|
+
type Hashable,
|
|
37
|
+
hashArray,
|
|
36
38
|
} from '@finos/legend-shared';
|
|
37
39
|
import type { QueryBuilderState } from '../../QueryBuilderState.js';
|
|
38
40
|
import {
|
|
@@ -85,12 +87,16 @@ import {
|
|
|
85
87
|
import type { LambdaFunctionBuilderOption } from '../../QueryBuilderValueSpecificationBuilderHelper.js';
|
|
86
88
|
import { appendProjection } from './QueryBuilderProjectionValueSpecificationBuilder.js';
|
|
87
89
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
88
|
-
|
|
89
|
-
|
|
90
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
|
|
91
|
+
|
|
92
|
+
export class QueryBuilderProjectionState
|
|
93
|
+
extends QueryBuilderFetchStructureImplementationState
|
|
94
|
+
implements Hashable
|
|
95
|
+
{
|
|
96
|
+
readonly aggregationState: QueryBuilderAggregationState;
|
|
97
|
+
readonly postFilterState: QueryBuilderPostFilterState;
|
|
98
|
+
readonly resultSetModifierState: QueryResultSetModifierState;
|
|
90
99
|
columns: QueryBuilderProjectionColumnState[] = [];
|
|
91
|
-
aggregationState: QueryBuilderAggregationState;
|
|
92
|
-
postFilterState: QueryBuilderPostFilterState;
|
|
93
|
-
resultSetModifierState: QueryResultSetModifierState;
|
|
94
100
|
isConvertDerivationProjectionObjects = false;
|
|
95
101
|
showPostFilterPanel = false;
|
|
96
102
|
|
|
@@ -107,9 +113,6 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
|
|
|
107
113
|
|
|
108
114
|
makeObservable(this, {
|
|
109
115
|
columns: observable,
|
|
110
|
-
aggregationState: observable,
|
|
111
|
-
postFilterState: observable,
|
|
112
|
-
resultSetModifierState: observable,
|
|
113
116
|
isConvertDerivationProjectionObjects: observable,
|
|
114
117
|
showPostFilterPanel: observable,
|
|
115
118
|
derivations: computed,
|
|
@@ -504,11 +507,8 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
|
|
|
504
507
|
new QueryBuilderSimpleProjectionColumnState(
|
|
505
508
|
this,
|
|
506
509
|
buildPropertyExpressionFromExplorerTreeNodeData(
|
|
507
|
-
this.queryBuilderState.explorerState.nonNullableTreeData,
|
|
508
510
|
node,
|
|
509
|
-
this.queryBuilderState.
|
|
510
|
-
this.queryBuilderState.explorerState.propertySearchState
|
|
511
|
-
.allMappedPropertyNodes,
|
|
511
|
+
this.queryBuilderState.explorerState,
|
|
512
512
|
),
|
|
513
513
|
this.queryBuilderState.explorerState.humanizePropertyName,
|
|
514
514
|
),
|
|
@@ -521,11 +521,8 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
|
|
|
521
521
|
new QueryBuilderSimpleProjectionColumnState(
|
|
522
522
|
this,
|
|
523
523
|
buildPropertyExpressionFromExplorerTreeNodeData(
|
|
524
|
-
this.queryBuilderState.explorerState.nonNullableTreeData,
|
|
525
524
|
nodeToAdd,
|
|
526
|
-
this.queryBuilderState.
|
|
527
|
-
this.queryBuilderState.explorerState.propertySearchState
|
|
528
|
-
.allMappedPropertyNodes,
|
|
525
|
+
this.queryBuilderState.explorerState,
|
|
529
526
|
),
|
|
530
527
|
this.queryBuilderState.explorerState.humanizePropertyName,
|
|
531
528
|
),
|
|
@@ -566,4 +563,14 @@ export class QueryBuilderProjectionState extends QueryBuilderFetchStructureImple
|
|
|
566
563
|
onChange();
|
|
567
564
|
}
|
|
568
565
|
}
|
|
566
|
+
|
|
567
|
+
get hashCode(): string {
|
|
568
|
+
return hashArray([
|
|
569
|
+
QUERY_BUILDER_HASH_STRUCTURE.PROJECTION_STATE,
|
|
570
|
+
hashArray(this.columns),
|
|
571
|
+
this.aggregationState,
|
|
572
|
+
this.postFilterState,
|
|
573
|
+
this.resultSetModifierState,
|
|
574
|
+
]);
|
|
575
|
+
}
|
|
569
576
|
}
|
|
@@ -14,24 +14,33 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { action,
|
|
17
|
+
import { action, computed, makeObservable, observable } from 'mobx';
|
|
18
18
|
import type { QueryBuilderProjectionState } from './QueryBuilderProjectionState.js';
|
|
19
19
|
import type { QueryBuilderProjectionColumnState } from './QueryBuilderProjectionColumnState.js';
|
|
20
|
-
import {
|
|
20
|
+
import {
|
|
21
|
+
addUniqueEntry,
|
|
22
|
+
deleteEntry,
|
|
23
|
+
type Hashable,
|
|
24
|
+
hashArray,
|
|
25
|
+
} from '@finos/legend-shared';
|
|
26
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../graphManager/QueryBuilderHashUtils.js';
|
|
21
27
|
|
|
22
28
|
export enum COLUMN_SORT_TYPE {
|
|
23
29
|
ASC,
|
|
24
30
|
DESC,
|
|
25
31
|
}
|
|
26
32
|
|
|
27
|
-
export class SortColumnState {
|
|
33
|
+
export class SortColumnState implements Hashable {
|
|
28
34
|
columnState: QueryBuilderProjectionColumnState;
|
|
29
35
|
sortType = COLUMN_SORT_TYPE.ASC;
|
|
30
36
|
|
|
31
37
|
constructor(columnState: QueryBuilderProjectionColumnState) {
|
|
32
|
-
|
|
38
|
+
makeObservable(this, {
|
|
39
|
+
columnState: observable,
|
|
40
|
+
sortType: observable,
|
|
33
41
|
setColumnState: action,
|
|
34
42
|
setSortType: action,
|
|
43
|
+
hashCode: computed,
|
|
35
44
|
});
|
|
36
45
|
|
|
37
46
|
this.columnState = columnState;
|
|
@@ -44,24 +53,36 @@ export class SortColumnState {
|
|
|
44
53
|
setSortType(val: COLUMN_SORT_TYPE): void {
|
|
45
54
|
this.sortType = val;
|
|
46
55
|
}
|
|
56
|
+
|
|
57
|
+
get hashCode(): string {
|
|
58
|
+
return hashArray([
|
|
59
|
+
QUERY_BUILDER_HASH_STRUCTURE.SORT_COLUMN_STATE,
|
|
60
|
+
this.sortType.toString(),
|
|
61
|
+
this.columnState,
|
|
62
|
+
]);
|
|
63
|
+
}
|
|
47
64
|
}
|
|
48
65
|
|
|
49
|
-
export class QueryResultSetModifierState {
|
|
50
|
-
projectionState: QueryBuilderProjectionState;
|
|
66
|
+
export class QueryResultSetModifierState implements Hashable {
|
|
67
|
+
readonly projectionState: QueryBuilderProjectionState;
|
|
51
68
|
showModal = false;
|
|
52
69
|
limit?: number | undefined;
|
|
53
70
|
distinct = false;
|
|
54
71
|
sortColumns: SortColumnState[] = [];
|
|
55
72
|
|
|
56
73
|
constructor(projectionState: QueryBuilderProjectionState) {
|
|
57
|
-
|
|
58
|
-
|
|
74
|
+
makeObservable(this, {
|
|
75
|
+
showModal: observable,
|
|
76
|
+
limit: observable,
|
|
77
|
+
distinct: observable,
|
|
78
|
+
sortColumns: observable,
|
|
59
79
|
setShowModal: action,
|
|
60
80
|
setLimit: action,
|
|
61
81
|
toggleDistinct: action,
|
|
62
82
|
deleteSortColumn: action,
|
|
63
83
|
addSortColumn: action,
|
|
64
84
|
updateSortColumns: action,
|
|
85
|
+
hashCode: computed,
|
|
65
86
|
});
|
|
66
87
|
|
|
67
88
|
this.projectionState = projectionState;
|
|
@@ -92,4 +113,13 @@ export class QueryResultSetModifierState {
|
|
|
92
113
|
this.projectionState.columns.includes(e.columnState),
|
|
93
114
|
);
|
|
94
115
|
}
|
|
116
|
+
|
|
117
|
+
get hashCode(): string {
|
|
118
|
+
return hashArray([
|
|
119
|
+
QUERY_BUILDER_HASH_STRUCTURE.RESULT_SET_MODIFIER_STATE,
|
|
120
|
+
hashArray(this.sortColumns),
|
|
121
|
+
this.limit?.toString() ?? '',
|
|
122
|
+
this.distinct.toString(),
|
|
123
|
+
]);
|
|
124
|
+
}
|
|
95
125
|
}
|
|
@@ -14,7 +14,11 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import {
|
|
17
|
+
import {
|
|
18
|
+
uuid,
|
|
19
|
+
guaranteeNonNullable,
|
|
20
|
+
type Hashable,
|
|
21
|
+
} from '@finos/legend-shared';
|
|
18
22
|
import type {
|
|
19
23
|
AbstractPropertyExpression,
|
|
20
24
|
PureModel,
|
|
@@ -28,10 +32,17 @@ import {
|
|
|
28
32
|
QueryBuilderSimpleProjectionColumnState,
|
|
29
33
|
} from '../QueryBuilderProjectionColumnState.js';
|
|
30
34
|
import type { QueryBuilderAggregateColumnState } from './QueryBuilderAggregationState.js';
|
|
35
|
+
import { computed, makeObservable } from 'mobx';
|
|
31
36
|
|
|
32
|
-
export abstract class QueryBuilderAggregateOperator {
|
|
37
|
+
export abstract class QueryBuilderAggregateOperator implements Hashable {
|
|
33
38
|
readonly uuid = uuid();
|
|
34
39
|
|
|
40
|
+
constructor() {
|
|
41
|
+
makeObservable(this, {
|
|
42
|
+
hashCode: computed,
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
|
|
35
46
|
abstract getLabel(
|
|
36
47
|
projectionColumnState: QueryBuilderProjectionColumnState,
|
|
37
48
|
): string;
|
|
@@ -76,4 +87,6 @@ export abstract class QueryBuilderAggregateOperator {
|
|
|
76
87
|
aggregateColumnState.projectionColumnState.getReturnType(),
|
|
77
88
|
);
|
|
78
89
|
}
|
|
90
|
+
|
|
91
|
+
abstract get hashCode(): string;
|
|
79
92
|
}
|
|
@@ -14,17 +14,24 @@
|
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
16
|
|
|
17
|
-
import { action,
|
|
18
|
-
import {
|
|
17
|
+
import { action, computed, makeObservable, observable } from 'mobx';
|
|
18
|
+
import {
|
|
19
|
+
uuid,
|
|
20
|
+
deleteEntry,
|
|
21
|
+
addUniqueEntry,
|
|
22
|
+
type Hashable,
|
|
23
|
+
hashArray,
|
|
24
|
+
} from '@finos/legend-shared';
|
|
19
25
|
import type { Type } from '@finos/legend-graph';
|
|
20
26
|
import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../../../QueryBuilderConfig.js';
|
|
21
27
|
import type { QueryBuilderProjectionState } from '../QueryBuilderProjectionState.js';
|
|
22
28
|
import type { QueryBuilderAggregateOperator } from './QueryBuilderAggregateOperator.js';
|
|
23
29
|
import type { QueryBuilderProjectionColumnState } from '../QueryBuilderProjectionColumnState.js';
|
|
30
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../graphManager/QueryBuilderHashUtils.js';
|
|
24
31
|
|
|
25
|
-
export class QueryBuilderAggregateColumnState {
|
|
32
|
+
export class QueryBuilderAggregateColumnState implements Hashable {
|
|
26
33
|
readonly uuid = uuid();
|
|
27
|
-
aggregationState: QueryBuilderAggregationState;
|
|
34
|
+
readonly aggregationState: QueryBuilderAggregationState;
|
|
28
35
|
projectionColumnState: QueryBuilderProjectionColumnState;
|
|
29
36
|
lambdaParameterName: string = DEFAULT_LAMBDA_VARIABLE_NAME;
|
|
30
37
|
operator: QueryBuilderAggregateOperator;
|
|
@@ -34,12 +41,14 @@ export class QueryBuilderAggregateColumnState {
|
|
|
34
41
|
projectionColumnState: QueryBuilderProjectionColumnState,
|
|
35
42
|
operator: QueryBuilderAggregateOperator,
|
|
36
43
|
) {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
makeObservable(this, {
|
|
45
|
+
projectionColumnState: observable,
|
|
46
|
+
lambdaParameterName: observable,
|
|
47
|
+
operator: observable,
|
|
40
48
|
setColumnState: action,
|
|
41
49
|
setLambdaParameterName: action,
|
|
42
50
|
setOperator: action,
|
|
51
|
+
hashCode: computed,
|
|
43
52
|
});
|
|
44
53
|
|
|
45
54
|
this.aggregationState = aggregationState;
|
|
@@ -66,21 +75,30 @@ export class QueryBuilderAggregateColumnState {
|
|
|
66
75
|
getReturnType(): Type {
|
|
67
76
|
return this.operator.getReturnType(this);
|
|
68
77
|
}
|
|
78
|
+
|
|
79
|
+
get hashCode(): string {
|
|
80
|
+
return hashArray([
|
|
81
|
+
QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_COLUMN_STATE,
|
|
82
|
+
this.operator,
|
|
83
|
+
]);
|
|
84
|
+
}
|
|
69
85
|
}
|
|
70
86
|
|
|
71
|
-
export class QueryBuilderAggregationState {
|
|
72
|
-
projectionState: QueryBuilderProjectionState;
|
|
73
|
-
operators: QueryBuilderAggregateOperator[] = [];
|
|
87
|
+
export class QueryBuilderAggregationState implements Hashable {
|
|
88
|
+
readonly projectionState: QueryBuilderProjectionState;
|
|
89
|
+
readonly operators: QueryBuilderAggregateOperator[] = [];
|
|
74
90
|
columns: QueryBuilderAggregateColumnState[] = [];
|
|
75
91
|
|
|
76
92
|
constructor(
|
|
77
93
|
projectionState: QueryBuilderProjectionState,
|
|
78
94
|
operators: QueryBuilderAggregateOperator[],
|
|
79
95
|
) {
|
|
80
|
-
|
|
81
|
-
|
|
96
|
+
makeObservable(this, {
|
|
97
|
+
columns: observable,
|
|
82
98
|
removeColumn: action,
|
|
83
99
|
addColumn: action,
|
|
100
|
+
changeColumnAggregateOperator: action,
|
|
101
|
+
hashCode: computed,
|
|
84
102
|
});
|
|
85
103
|
|
|
86
104
|
this.projectionState = projectionState;
|
|
@@ -142,4 +160,11 @@ export class QueryBuilderAggregationState {
|
|
|
142
160
|
}
|
|
143
161
|
}
|
|
144
162
|
}
|
|
163
|
+
|
|
164
|
+
get hashCode(): string {
|
|
165
|
+
return hashArray([
|
|
166
|
+
QUERY_BUILDER_HASH_STRUCTURE.AGGREGATION_STATE,
|
|
167
|
+
hashArray(this.columns),
|
|
168
|
+
]);
|
|
169
|
+
}
|
|
145
170
|
}
|
|
@@ -34,8 +34,13 @@ import {
|
|
|
34
34
|
buildAggregateExpression,
|
|
35
35
|
} from './QueryBuilderAggregateOperatorHelper.js';
|
|
36
36
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
37
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
38
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
|
37
39
|
|
|
38
|
-
export class QueryBuilderAggregateOperator_Average
|
|
40
|
+
export class QueryBuilderAggregateOperator_Average
|
|
41
|
+
extends QueryBuilderAggregateOperator
|
|
42
|
+
implements Hashable
|
|
43
|
+
{
|
|
39
44
|
getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
|
|
40
45
|
return 'average';
|
|
41
46
|
}
|
|
@@ -95,4 +100,8 @@ export class QueryBuilderAggregateOperator_Average extends QueryBuilderAggregate
|
|
|
95
100
|
.graphManagerState.graph;
|
|
96
101
|
return graph.getType(PRIMITIVE_TYPE.FLOAT);
|
|
97
102
|
}
|
|
103
|
+
|
|
104
|
+
get hashCode(): string {
|
|
105
|
+
return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_AVERAGE]);
|
|
106
|
+
}
|
|
98
107
|
}
|
|
@@ -35,8 +35,13 @@ import {
|
|
|
35
35
|
buildAggregateExpression,
|
|
36
36
|
} from './QueryBuilderAggregateOperatorHelper.js';
|
|
37
37
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
38
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
39
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
|
38
40
|
|
|
39
|
-
export class QueryBuilderAggregateOperator_Count
|
|
41
|
+
export class QueryBuilderAggregateOperator_Count
|
|
42
|
+
extends QueryBuilderAggregateOperator
|
|
43
|
+
implements Hashable
|
|
44
|
+
{
|
|
40
45
|
getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
|
|
41
46
|
return 'count';
|
|
42
47
|
}
|
|
@@ -103,4 +108,8 @@ export class QueryBuilderAggregateOperator_Count extends QueryBuilderAggregateOp
|
|
|
103
108
|
.graphManagerState.graph;
|
|
104
109
|
return graph.getType(PRIMITIVE_TYPE.INTEGER);
|
|
105
110
|
}
|
|
111
|
+
|
|
112
|
+
get hashCode(): string {
|
|
113
|
+
return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_COUNT]);
|
|
114
|
+
}
|
|
106
115
|
}
|
|
@@ -34,8 +34,13 @@ import {
|
|
|
34
34
|
buildAggregateExpression,
|
|
35
35
|
} from './QueryBuilderAggregateOperatorHelper.js';
|
|
36
36
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
37
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
38
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
|
37
39
|
|
|
38
|
-
export class QueryBuilderAggregateOperator_Distinct
|
|
40
|
+
export class QueryBuilderAggregateOperator_Distinct
|
|
41
|
+
extends QueryBuilderAggregateOperator
|
|
42
|
+
implements Hashable
|
|
43
|
+
{
|
|
39
44
|
getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
|
|
40
45
|
return 'distinct';
|
|
41
46
|
}
|
|
@@ -93,4 +98,10 @@ export class QueryBuilderAggregateOperator_Distinct extends QueryBuilderAggregat
|
|
|
93
98
|
this,
|
|
94
99
|
);
|
|
95
100
|
}
|
|
101
|
+
|
|
102
|
+
get hashCode(): string {
|
|
103
|
+
return hashArray([
|
|
104
|
+
QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_DISTINCT,
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
96
107
|
}
|
|
@@ -27,7 +27,12 @@ import {
|
|
|
27
27
|
type Type,
|
|
28
28
|
Enumeration,
|
|
29
29
|
} from '@finos/legend-graph';
|
|
30
|
-
import {
|
|
30
|
+
import {
|
|
31
|
+
assertTrue,
|
|
32
|
+
guaranteeType,
|
|
33
|
+
type Hashable,
|
|
34
|
+
hashArray,
|
|
35
|
+
} from '@finos/legend-shared';
|
|
31
36
|
import { QueryBuilderAggregateColumnState } from '../QueryBuilderAggregationState.js';
|
|
32
37
|
import { QueryBuilderAggregateOperator } from '../QueryBuilderAggregateOperator.js';
|
|
33
38
|
import {
|
|
@@ -35,8 +40,12 @@ import {
|
|
|
35
40
|
QueryBuilderSimpleProjectionColumnState,
|
|
36
41
|
} from '../../QueryBuilderProjectionColumnState.js';
|
|
37
42
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
43
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
|
38
44
|
|
|
39
|
-
export class QueryBuilderAggregateOperator_DistinctCount
|
|
45
|
+
export class QueryBuilderAggregateOperator_DistinctCount
|
|
46
|
+
extends QueryBuilderAggregateOperator
|
|
47
|
+
implements Hashable
|
|
48
|
+
{
|
|
40
49
|
getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
|
|
41
50
|
return 'distinct count';
|
|
42
51
|
}
|
|
@@ -170,4 +179,10 @@ export class QueryBuilderAggregateOperator_DistinctCount extends QueryBuilderAgg
|
|
|
170
179
|
.graphManagerState.graph;
|
|
171
180
|
return graph.getType(PRIMITIVE_TYPE.INTEGER);
|
|
172
181
|
}
|
|
182
|
+
|
|
183
|
+
get hashCode(): string {
|
|
184
|
+
return hashArray([
|
|
185
|
+
QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_DISTINCT_COUNT,
|
|
186
|
+
]);
|
|
187
|
+
}
|
|
173
188
|
}
|
|
@@ -29,7 +29,12 @@ import {
|
|
|
29
29
|
GenericType,
|
|
30
30
|
PRIMITIVE_TYPE,
|
|
31
31
|
} from '@finos/legend-graph';
|
|
32
|
-
import {
|
|
32
|
+
import {
|
|
33
|
+
assertTrue,
|
|
34
|
+
guaranteeType,
|
|
35
|
+
type Hashable,
|
|
36
|
+
hashArray,
|
|
37
|
+
} from '@finos/legend-shared';
|
|
33
38
|
import { QueryBuilderAggregateColumnState } from '../QueryBuilderAggregationState.js';
|
|
34
39
|
import { QueryBuilderAggregateOperator } from '../QueryBuilderAggregateOperator.js';
|
|
35
40
|
import {
|
|
@@ -37,8 +42,12 @@ import {
|
|
|
37
42
|
QueryBuilderSimpleProjectionColumnState,
|
|
38
43
|
} from '../../QueryBuilderProjectionColumnState.js';
|
|
39
44
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
45
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
|
40
46
|
|
|
41
|
-
export class QueryBuilderAggregateOperator_JoinString
|
|
47
|
+
export class QueryBuilderAggregateOperator_JoinString
|
|
48
|
+
extends QueryBuilderAggregateOperator
|
|
49
|
+
implements Hashable
|
|
50
|
+
{
|
|
42
51
|
getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
|
|
43
52
|
return 'join';
|
|
44
53
|
}
|
|
@@ -152,4 +161,10 @@ export class QueryBuilderAggregateOperator_JoinString extends QueryBuilderAggreg
|
|
|
152
161
|
.graphManagerState.graph;
|
|
153
162
|
return graph.getType(PRIMITIVE_TYPE.STRING);
|
|
154
163
|
}
|
|
164
|
+
|
|
165
|
+
get hashCode(): string {
|
|
166
|
+
return hashArray([
|
|
167
|
+
QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_JOIN_STRING,
|
|
168
|
+
]);
|
|
169
|
+
}
|
|
155
170
|
}
|
|
@@ -34,8 +34,13 @@ import {
|
|
|
34
34
|
buildAggregateExpression,
|
|
35
35
|
} from './QueryBuilderAggregateOperatorHelper.js';
|
|
36
36
|
import { QUERY_BUILDER_SUPPORTED_FUNCTIONS } from '../../../../../graphManager/QueryBuilderSupportedFunctions.js';
|
|
37
|
+
import { type Hashable, hashArray } from '@finos/legend-shared';
|
|
38
|
+
import { QUERY_BUILDER_HASH_STRUCTURE } from '../../../../../graphManager/QueryBuilderHashUtils.js';
|
|
37
39
|
|
|
38
|
-
export class QueryBuilderAggregateOperator_Max
|
|
40
|
+
export class QueryBuilderAggregateOperator_Max
|
|
41
|
+
extends QueryBuilderAggregateOperator
|
|
42
|
+
implements Hashable
|
|
43
|
+
{
|
|
39
44
|
getLabel(projectionColumnState: QueryBuilderProjectionColumnState): string {
|
|
40
45
|
return 'max';
|
|
41
46
|
}
|
|
@@ -171,4 +176,8 @@ export class QueryBuilderAggregateOperator_Max extends QueryBuilderAggregateOper
|
|
|
171
176
|
}
|
|
172
177
|
return undefined;
|
|
173
178
|
}
|
|
179
|
+
|
|
180
|
+
get hashCode(): string {
|
|
181
|
+
return hashArray([QUERY_BUILDER_HASH_STRUCTURE.AGGREGATE_OPERATOR_MAX]);
|
|
182
|
+
}
|
|
174
183
|
}
|