@finos/legend-query-builder 4.17.99 → 4.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +2 -1
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +9 -8
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +48 -5
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderRelationExplorerPanel.d.ts +24 -0
- package/lib/components/explorer/QueryBuilderRelationExplorerPanel.d.ts.map +1 -0
- package/lib/components/explorer/QueryBuilderRelationExplorerPanel.js +202 -0
- package/lib/components/explorer/QueryBuilderRelationExplorerPanel.js.map +1 -0
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +3 -3
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +25 -6
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.js +1 -1
- package/lib/components/result/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSAsyncCellSelectionStats.d.ts +42 -0
- package/lib/components/result/tds/QueryBuilderTDSAsyncCellSelectionStats.d.ts.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSAsyncCellSelectionStats.js +212 -0
- package/lib/components/result/tds/QueryBuilderTDSAsyncCellSelectionStats.js.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStats.d.ts +66 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStats.d.ts.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStats.js +265 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStats.js.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.d.ts +28 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.d.ts.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.js +148 -0
- package/lib/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.js.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSGridKeyboardShortcuts.d.ts +19 -0
- package/lib/components/result/tds/QueryBuilderTDSGridKeyboardShortcuts.d.ts.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSGridKeyboardShortcuts.js +196 -0
- package/lib/components/result/tds/QueryBuilderTDSGridKeyboardShortcuts.js.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts +5 -0
- package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js +64 -87
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridShared.d.ts +26 -0
- package/lib/components/result/tds/QueryBuilderTDSGridShared.d.ts.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSGridShared.js +51 -0
- package/lib/components/result/tds/QueryBuilderTDSGridShared.js.map +1 -0
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.d.ts +5 -0
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.d.ts.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js +169 -60
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js.map +1 -1
- package/lib/components/workflows/AccessorQueryBuilder.d.ts +18 -0
- package/lib/components/workflows/AccessorQueryBuilder.d.ts.map +1 -0
- package/lib/components/workflows/AccessorQueryBuilder.js +87 -0
- package/lib/components/workflows/AccessorQueryBuilder.js.map +1 -0
- package/lib/components/workflows/ClassQueryBuilder.js +5 -5
- package/lib/components/workflows/ClassQueryBuilder.js.map +1 -1
- package/lib/data-access-overview.css +1 -1
- package/lib/graph/QueryBuilderMetaModelConst.d.ts +4 -0
- package/lib/graph/QueryBuilderMetaModelConst.d.ts.map +1 -1
- package/lib/graph/QueryBuilderMetaModelConst.js +4 -0
- package/lib/graph/QueryBuilderMetaModelConst.js.map +1 -1
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +7 -1
- package/lib/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts +2 -0
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js +93 -3
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/QueryBuilderConfig.d.ts +3 -0
- package/lib/stores/QueryBuilderConfig.d.ts.map +1 -1
- package/lib/stores/QueryBuilderConfig.js +3 -0
- package/lib/stores/QueryBuilderConfig.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +13 -3
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +14 -4
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +41 -13
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts +2 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +51 -20
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderStateHashUtils.d.ts +1 -0
- package/lib/stores/QueryBuilderStateHashUtils.d.ts.map +1 -1
- package/lib/stores/QueryBuilderStateHashUtils.js +1 -0
- package/lib/stores/QueryBuilderStateHashUtils.js.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.js +2 -2
- package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js +54 -45
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/__test-utils__/QueryBuilderStateTestUtils.js +1 -1
- package/lib/stores/__test-utils__/QueryBuilderStateTestUtils.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +12 -2
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +12 -2
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +2 -2
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +2 -2
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +4 -3
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.d.ts +2 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js +19 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSHelper.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +7 -4
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +59 -12
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts +16 -3
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js +102 -24
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts +2 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +16 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +3 -3
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.js +11 -2
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js +16 -12
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.d.ts +4 -3
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js +19 -9
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js +57 -5
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.d.ts +4 -3
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.js +85 -6
- package/lib/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.js +4 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.js.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.js +3 -0
- package/lib/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js +4 -4
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/workflows/MappingQueryBuilderState.js +2 -2
- package/lib/stores/workflows/MappingQueryBuilderState.js.map +1 -1
- package/lib/stores/workflows/ServiceQueryBuilderState.js +2 -2
- package/lib/stores/workflows/ServiceQueryBuilderState.js.map +1 -1
- package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.d.ts +18 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.d.ts.map +1 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.js +32 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderHelper.js.map +1 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderState.d.ts +57 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderState.d.ts.map +1 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderState.js +125 -0
- package/lib/stores/workflows/accessor/AccessorQueryBuilderState.js.map +1 -0
- package/lib/stores/workflows/dataProduct/DataProductQueryBuilderState.js +4 -4
- package/lib/stores/workflows/dataProduct/DataProductQueryBuilderState.js.map +1 -1
- package/package.json +7 -7
- package/src/components/QueryBuilder.tsx +2 -1
- package/src/components/QueryBuilderSideBar.tsx +12 -8
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +77 -14
- package/src/components/explorer/QueryBuilderRelationExplorerPanel.tsx +536 -0
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +1 -0
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +3 -3
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +62 -4
- package/src/components/result/QueryBuilderResultPanel.tsx +6 -2
- package/src/components/result/tds/QueryBuilderTDSAsyncCellSelectionStats.ts +254 -0
- package/src/components/result/tds/QueryBuilderTDSCellSelectionStats.ts +397 -0
- package/src/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.tsx +439 -0
- package/src/components/result/tds/QueryBuilderTDSGridKeyboardShortcuts.ts +270 -0
- package/src/components/result/tds/QueryBuilderTDSGridResult.tsx +107 -112
- package/src/components/result/tds/QueryBuilderTDSGridShared.ts +76 -0
- package/src/components/result/tds/QueryBuilderTDSSimpleGridResult.tsx +272 -99
- package/src/components/workflows/AccessorQueryBuilder.tsx +211 -0
- package/src/components/workflows/ClassQueryBuilder.tsx +5 -5
- package/src/graph/QueryBuilderMetaModelConst.ts +5 -0
- package/src/graph-manager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +28 -0
- package/src/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts +223 -4
- package/src/index.ts +2 -0
- package/src/stores/QueryBuilderConfig.ts +3 -0
- package/src/stores/QueryBuilderResultState.ts +22 -9
- package/src/stores/QueryBuilderState.ts +47 -12
- package/src/stores/QueryBuilderStateBuilder.ts +107 -43
- package/src/stores/QueryBuilderStateHashUtils.ts +1 -0
- package/src/stores/QueryBuilderTypeaheadHelper.ts +2 -2
- package/src/stores/QueryBuilderValueSpecificationBuilder.ts +72 -59
- package/src/stores/__test-utils__/QueryBuilderStateTestUtils.ts +1 -1
- package/src/stores/explorer/QueryBuilderExplorerState.ts +26 -2
- package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +1 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +4 -3
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts +1 -1
- package/src/stores/fetch-structure/tds/QueryBuilderTDSHelper.ts +42 -0
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +135 -19
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionColumnState.ts +197 -38
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +30 -0
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +3 -3
- package/src/stores/fetch-structure/tds/projection/QueryBuilderRelationProjectValueSpecBuilder.ts +21 -0
- package/src/stores/fetch-structure/tds/projection/QueryBuilderTypedProjectionStateBuilder.ts +25 -16
- package/src/stores/fetch-structure/tds/window/QueryBuilderWindowState.ts +23 -9
- package/src/stores/fetch-structure/tds/window/QueryBuilderWindowStateBuilder.ts +146 -4
- package/src/stores/fetch-structure/tds/window/QueryBuilderWindowValueSpecificationBuilder.ts +145 -10
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator.ts +2 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Average.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Count.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Max.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Min.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowOperator_Sum.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_AverageRank.ts +5 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_DenseRank.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_Rank.ts +4 -0
- package/src/stores/fetch-structure/tds/window/operators/QueryBuilderTDS_WindowRankOperator_RowNumber.ts +4 -0
- package/src/stores/milestoning/QueryBuilderMilestoningState.ts +4 -4
- package/src/stores/workflows/MappingQueryBuilderState.ts +2 -2
- package/src/stores/workflows/ServiceQueryBuilderState.ts +2 -2
- package/src/stores/workflows/accessor/AccessorQueryBuilderHelper.ts +51 -0
- package/src/stores/workflows/accessor/AccessorQueryBuilderState.ts +195 -0
- package/src/stores/workflows/dataProduct/DataProductQueryBuilderState.ts +4 -4
- package/tsconfig.json +9 -0
|
@@ -16,36 +16,32 @@
|
|
|
16
16
|
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
|
18
18
|
import type { QueryBuilderState } from '../../../stores/QueryBuilderState.js';
|
|
19
|
-
import { useState, useCallback, useEffect } from 'react';
|
|
19
|
+
import { useState, useCallback, useEffect, useRef } from 'react';
|
|
20
20
|
import {
|
|
21
21
|
DataGrid,
|
|
22
|
-
type DataGridCellSelectionChangedEvent,
|
|
23
22
|
type DataGridApi,
|
|
24
|
-
type
|
|
23
|
+
type DataGridCellKeyDownEvent,
|
|
25
24
|
type DataGridColumnDefinition,
|
|
26
25
|
type DataGridGetContextMenuItemsParams,
|
|
27
|
-
type DataGridIRowNode,
|
|
28
26
|
type DataGridMenuItemDef,
|
|
29
27
|
type DataGridIAggFuncParams,
|
|
30
28
|
type DataGridDefaultMenuItem,
|
|
31
29
|
} from '@finos/legend-lego/data-grid';
|
|
30
|
+
import { handleGridKeyboardShortcut } from './QueryBuilderTDSGridKeyboardShortcuts.js';
|
|
32
31
|
import {
|
|
33
32
|
getRowDataFromExecutionResult,
|
|
34
33
|
type IQueryRendererParamsWithGridType,
|
|
35
|
-
filterByOrOutValues,
|
|
36
34
|
} from './QueryBuilderTDSResultShared.js';
|
|
37
35
|
import {
|
|
38
36
|
type QueryBuilderResultState,
|
|
39
37
|
QueryBuilderResultWavgAggregationState,
|
|
40
38
|
} from '../../../stores/QueryBuilderResultState.js';
|
|
41
39
|
import {
|
|
42
|
-
type TDSResultCellData,
|
|
43
40
|
type TDSResultCellDataType,
|
|
44
41
|
type TDSRowDataType,
|
|
45
42
|
type TDSExecutionResult,
|
|
46
43
|
PRIMITIVE_TYPE,
|
|
47
44
|
} from '@finos/legend-graph';
|
|
48
|
-
import { QueryBuilderTDSState } from '../../../stores/fetch-structure/tds/QueryBuilderTDSState.js';
|
|
49
45
|
import { DEFAULT_LOCALE } from '../../../graph-manager/QueryBuilderConst.js';
|
|
50
46
|
import {
|
|
51
47
|
assertErrorThrown,
|
|
@@ -71,6 +67,9 @@ import {
|
|
|
71
67
|
getTDSColumnCustomizations,
|
|
72
68
|
MAXIMUM_FRACTION_DIGITS,
|
|
73
69
|
} from './QueryBuilderTDSSimpleGridResult.js';
|
|
70
|
+
import { QueryBuilderTDSCellSelectionStatsBar } from './QueryBuilderTDSCellSelectionStatsBar.js';
|
|
71
|
+
import { useAsyncCellSelectionStats } from './QueryBuilderTDSAsyncCellSelectionStats.js';
|
|
72
|
+
import { buildTDSGridContextMenuItems } from './QueryBuilderTDSGridShared.js';
|
|
74
73
|
|
|
75
74
|
export const enum QueryBuilderDataGridCustomAggregationFunction {
|
|
76
75
|
wavg = 'wavg',
|
|
@@ -130,7 +129,8 @@ const QueryResultCellRenderer = observer(
|
|
|
130
129
|
isString(cellValue) && isValidURL(cellValue) ? cellValue : undefined;
|
|
131
130
|
|
|
132
131
|
const mouseDown: React.MouseEventHandler = (event) => {
|
|
133
|
-
|
|
132
|
+
// NOTE: do NOT call preventDefault() here — it would block the browser's
|
|
133
|
+
// native focus-on-click, preventing AG Grid from receiving keyboard events.
|
|
134
134
|
if (event.button === 0 || event.button === 2) {
|
|
135
135
|
resultState.setMouseOverCell(resultState.selectedCells[0] ?? null);
|
|
136
136
|
}
|
|
@@ -254,8 +254,17 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
254
254
|
(props: {
|
|
255
255
|
executionResult: TDSExecutionResult;
|
|
256
256
|
queryBuilderState: QueryBuilderState;
|
|
257
|
+
/**
|
|
258
|
+
* Whether to show the cell-selection summary statistics bar below the grid.
|
|
259
|
+
* Defaults to `true`.
|
|
260
|
+
*/
|
|
261
|
+
showSummaryStats?: boolean;
|
|
257
262
|
}) => {
|
|
258
|
-
const {
|
|
263
|
+
const {
|
|
264
|
+
executionResult,
|
|
265
|
+
queryBuilderState,
|
|
266
|
+
showSummaryStats = true,
|
|
267
|
+
} = props;
|
|
259
268
|
const applicationStore = useApplicationStore();
|
|
260
269
|
const darkMode =
|
|
261
270
|
!applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;
|
|
@@ -285,95 +294,19 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
285
294
|
});
|
|
286
295
|
};
|
|
287
296
|
|
|
288
|
-
const getSelectedCells = (
|
|
289
|
-
api: DataGridApi<TDSRowDataType>,
|
|
290
|
-
): TDSResultCellData[] => {
|
|
291
|
-
const selectedRanges: DataGridCellRange[] | null = api.getCellRanges();
|
|
292
|
-
const nodes = [] as DataGridIRowNode<TDSRowDataType>[];
|
|
293
|
-
api.forEachNode((node) => nodes.push(node));
|
|
294
|
-
const columns = api.getColumnDefs() as DataGridColumnDefinition[];
|
|
295
|
-
const selectedCells = [];
|
|
296
|
-
if (selectedRanges) {
|
|
297
|
-
for (const selectedRange of selectedRanges) {
|
|
298
|
-
const rangeStart: number = selectedRange.startRow?.rowIndex ?? 0;
|
|
299
|
-
const rangeEnd: number = selectedRange.endRow?.rowIndex ?? 0;
|
|
300
|
-
const startRow = rangeStart < rangeEnd ? rangeStart : rangeEnd;
|
|
301
|
-
const endRow = rangeStart < rangeEnd ? rangeEnd : rangeStart;
|
|
302
|
-
const selectedColumns: string[] = selectedRange.columns.map((col) =>
|
|
303
|
-
col.getColId(),
|
|
304
|
-
);
|
|
305
|
-
for (let x: number = startRow; x <= endRow; x++) {
|
|
306
|
-
const curRowData = nodes.find(
|
|
307
|
-
(n) => (n as DataGridIRowNode).rowIndex === x,
|
|
308
|
-
)?.data;
|
|
309
|
-
if (curRowData) {
|
|
310
|
-
for (const col of selectedColumns) {
|
|
311
|
-
const valueAndColumnId = {
|
|
312
|
-
value: Object.entries(curRowData)
|
|
313
|
-
.find((rData) => rData[0] === col)
|
|
314
|
-
?.at(1),
|
|
315
|
-
columnName: col,
|
|
316
|
-
coordinates: {
|
|
317
|
-
rowIndex: x,
|
|
318
|
-
colIndex: columns.findIndex(
|
|
319
|
-
(colDef) => colDef.colId === col,
|
|
320
|
-
),
|
|
321
|
-
},
|
|
322
|
-
} as TDSResultCellData;
|
|
323
|
-
selectedCells.push(valueAndColumnId);
|
|
324
|
-
}
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
}
|
|
329
|
-
return selectedCells;
|
|
330
|
-
};
|
|
331
|
-
|
|
332
297
|
const getContextMenuItems = useCallback(
|
|
333
|
-
(
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
filterByOrOutValues(
|
|
343
|
-
applicationStore,
|
|
344
|
-
resultState.mousedOverCell,
|
|
345
|
-
true,
|
|
346
|
-
fetchStructureImplementation,
|
|
347
|
-
).catch(queryBuilderState.applicationStore.alertUnhandledError);
|
|
348
|
-
},
|
|
349
|
-
},
|
|
350
|
-
{
|
|
351
|
-
name: 'Filter Out',
|
|
352
|
-
action: () => {
|
|
353
|
-
filterByOrOutValues(
|
|
354
|
-
applicationStore,
|
|
355
|
-
resultState.mousedOverCell,
|
|
356
|
-
false,
|
|
357
|
-
fetchStructureImplementation,
|
|
358
|
-
).catch(queryBuilderState.applicationStore.alertUnhandledError);
|
|
359
|
-
},
|
|
360
|
-
},
|
|
361
|
-
'copy',
|
|
362
|
-
'copyWithHeaders',
|
|
363
|
-
{
|
|
364
|
-
name: 'Copy Row Value',
|
|
365
|
-
action: () => {
|
|
366
|
-
params.api.copySelectedRowsToClipboard();
|
|
367
|
-
},
|
|
368
|
-
},
|
|
369
|
-
];
|
|
370
|
-
}
|
|
371
|
-
return result;
|
|
372
|
-
},
|
|
298
|
+
(
|
|
299
|
+
params: DataGridGetContextMenuItemsParams<TDSRowDataType>,
|
|
300
|
+
): (DataGridDefaultMenuItem | DataGridMenuItemDef)[] =>
|
|
301
|
+
buildTDSGridContextMenuItems(
|
|
302
|
+
params,
|
|
303
|
+
applicationStore,
|
|
304
|
+
resultState,
|
|
305
|
+
queryBuilderState.applicationStore.alertUnhandledError,
|
|
306
|
+
),
|
|
373
307
|
[
|
|
374
308
|
applicationStore,
|
|
375
|
-
resultState
|
|
376
|
-
resultState.queryBuilderState.fetchStructureState.implementation,
|
|
309
|
+
resultState,
|
|
377
310
|
queryBuilderState.applicationStore.alertUnhandledError,
|
|
378
311
|
],
|
|
379
312
|
);
|
|
@@ -479,6 +412,19 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
479
412
|
}
|
|
480
413
|
}, [resultState.wavgAggregationState, aggFuncParams]);
|
|
481
414
|
|
|
415
|
+
// Stats panel: use a lightweight version counter so onCellSelectionChanged
|
|
416
|
+
// only does O(1) work. The hook reads from gridApiRef lazily when debounces fire.
|
|
417
|
+
const [selectionVersion, setSelectionVersion] = useState(0);
|
|
418
|
+
const columnTypes = new Map<string, string | undefined>(
|
|
419
|
+
executionResult.builder.columns.map((c) => [c.name, c.type]),
|
|
420
|
+
);
|
|
421
|
+
const gridApiRef = useRef<DataGridApi<TDSRowDataType> | null>(null);
|
|
422
|
+
const cellSelectionStats = useAsyncCellSelectionStats(
|
|
423
|
+
selectionVersion,
|
|
424
|
+
columnTypes,
|
|
425
|
+
gridApiRef,
|
|
426
|
+
);
|
|
427
|
+
|
|
482
428
|
return (
|
|
483
429
|
<div
|
|
484
430
|
data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_RESULT_VALUES_TDS}
|
|
@@ -486,6 +432,7 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
486
432
|
>
|
|
487
433
|
<div
|
|
488
434
|
className={clsx('query-builder__result__tds-grid', {
|
|
435
|
+
'query-builder__result__tds-grid--with-stats-bar': showSummaryStats,
|
|
489
436
|
'ag-theme-balham': !darkMode,
|
|
490
437
|
'ag-theme-balham-dark': darkMode,
|
|
491
438
|
})}
|
|
@@ -494,6 +441,7 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
494
441
|
<DataGrid
|
|
495
442
|
rowData={getRowDataFromExecutionResult(executionResult)}
|
|
496
443
|
onGridReady={(params): void => {
|
|
444
|
+
gridApiRef.current = params.api;
|
|
497
445
|
setGridApi(params.api);
|
|
498
446
|
params.api.updateGridOptions({
|
|
499
447
|
pivotMode: Boolean(
|
|
@@ -504,11 +452,6 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
504
452
|
gridOptions={{
|
|
505
453
|
suppressScrollOnNewData: true,
|
|
506
454
|
getRowId: (data) => `${data.data.rowNumber}`,
|
|
507
|
-
rowSelection: {
|
|
508
|
-
mode: 'multiRow',
|
|
509
|
-
checkboxes: false,
|
|
510
|
-
headerCheckbox: false,
|
|
511
|
-
},
|
|
512
455
|
pivotPanelShow: 'always',
|
|
513
456
|
rowGroupPanelShow: 'always',
|
|
514
457
|
cellSelection: true,
|
|
@@ -533,18 +476,46 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
533
476
|
onColumnValueChanged={onSaveGridColumnState}
|
|
534
477
|
onColumnPivotChanged={onSaveGridColumnState}
|
|
535
478
|
onColumnPivotModeChanged={onSaveGridColumnState}
|
|
479
|
+
onCellSelectionChanged={() => {
|
|
480
|
+
// O(1) — just increment the version counter.
|
|
481
|
+
// getSelectedCells() is deferred into the stats hook debounce.
|
|
482
|
+
// eslint-disable-next-line no-console
|
|
483
|
+
console.debug(`[TDS Grid (local)] onCellSelectionChanged`);
|
|
484
|
+
setSelectionVersion((v) => v + 1);
|
|
485
|
+
}}
|
|
486
|
+
onCellClicked={(event) => {
|
|
487
|
+
// Skip clicks that originated from a keyboard shortcut (Ctrl/Shift+Space
|
|
488
|
+
// fires a synthetic click that would reset the range selection we just set).
|
|
489
|
+
const e = event.event as MouseEvent | undefined;
|
|
490
|
+
if (e?.ctrlKey || e?.shiftKey) {
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
// eslint-disable-next-line no-console
|
|
494
|
+
console.debug(
|
|
495
|
+
`[TDS Grid (local)] onCellClicked: col=${event.column.getColId()} row=${event.rowIndex}`,
|
|
496
|
+
);
|
|
497
|
+
if (event.rowIndex !== null) {
|
|
498
|
+
// Set AG Grid's internal keyboard focus to the clicked cell so
|
|
499
|
+
// subsequent keypresses act on this cell, not wherever AG Grid
|
|
500
|
+
// last had focus before the grid lost focus.
|
|
501
|
+
event.api.setFocusedCell(event.rowIndex, event.column);
|
|
502
|
+
}
|
|
503
|
+
}}
|
|
504
|
+
onCellKeyDown={(
|
|
505
|
+
event: DataGridCellKeyDownEvent<TDSRowDataType>,
|
|
506
|
+
) => {
|
|
507
|
+
handleGridKeyboardShortcut(event);
|
|
508
|
+
}}
|
|
536
509
|
/>
|
|
537
510
|
) : (
|
|
538
511
|
<DataGrid
|
|
539
512
|
rowData={getRowDataFromExecutionResult(executionResult)}
|
|
513
|
+
onGridReady={(params): void => {
|
|
514
|
+
gridApiRef.current = params.api;
|
|
515
|
+
}}
|
|
540
516
|
gridOptions={{
|
|
541
517
|
suppressScrollOnNewData: true,
|
|
542
518
|
getRowId: (data) => `${data.data.rowNumber}`,
|
|
543
|
-
rowSelection: {
|
|
544
|
-
mode: 'multiRow',
|
|
545
|
-
checkboxes: false,
|
|
546
|
-
headerCheckbox: false,
|
|
547
|
-
},
|
|
548
519
|
cellSelection: true,
|
|
549
520
|
}}
|
|
550
521
|
// NOTE: when column definition changed, we need to force refresh the cell to make sure the cell renderer is updated
|
|
@@ -552,20 +523,44 @@ export const QueryBuilderTDSGridResult = observer(
|
|
|
552
523
|
onRowDataUpdated={(params) => {
|
|
553
524
|
params.api.refreshCells({ force: true });
|
|
554
525
|
}}
|
|
555
|
-
onCellSelectionChanged={(
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
526
|
+
onCellSelectionChanged={() => {
|
|
527
|
+
// O(1) — just increment the version counter.
|
|
528
|
+
// getSelectedCells() is deferred into the stats hook debounce.
|
|
529
|
+
// eslint-disable-next-line no-console
|
|
530
|
+
console.debug(`[TDS Grid] onCellSelectionChanged`);
|
|
531
|
+
setSelectionVersion((v) => v + 1);
|
|
532
|
+
}}
|
|
533
|
+
onCellClicked={(event) => {
|
|
534
|
+
const e = event.event as MouseEvent | undefined;
|
|
535
|
+
if (e?.ctrlKey || e?.shiftKey) {
|
|
536
|
+
return;
|
|
537
|
+
}
|
|
538
|
+
// eslint-disable-next-line no-console
|
|
539
|
+
console.debug(
|
|
540
|
+
`[TDS Grid] onCellClicked: col=${event.column.getColId()} row=${event.rowIndex}`,
|
|
562
541
|
);
|
|
542
|
+
if (event.rowIndex !== null) {
|
|
543
|
+
event.api.setFocusedCell(event.rowIndex, event.column);
|
|
544
|
+
}
|
|
563
545
|
}}
|
|
564
546
|
suppressFieldDotNotation={true}
|
|
565
547
|
suppressClipboardPaste={false}
|
|
566
548
|
suppressContextMenu={false}
|
|
567
549
|
columnDefs={colDefs}
|
|
568
550
|
getContextMenuItems={(params) => getContextMenuItems(params)}
|
|
551
|
+
onCellKeyDown={(
|
|
552
|
+
event: DataGridCellKeyDownEvent<TDSRowDataType>,
|
|
553
|
+
) => {
|
|
554
|
+
handleGridKeyboardShortcut(event);
|
|
555
|
+
}}
|
|
556
|
+
/>
|
|
557
|
+
)}
|
|
558
|
+
{showSummaryStats && cellSelectionStats !== undefined && (
|
|
559
|
+
<QueryBuilderTDSCellSelectionStatsBar
|
|
560
|
+
stats={cellSelectionStats.stats}
|
|
561
|
+
cellCount={cellSelectionStats.cellCount}
|
|
562
|
+
countReady={cellSelectionStats.countReady}
|
|
563
|
+
darkMode={darkMode}
|
|
569
564
|
/>
|
|
570
565
|
)}
|
|
571
566
|
{resultState.wavgAggregationState?.isApplyingWavg && (
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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 type { GenericLegendApplicationStore } from '@finos/legend-application';
|
|
18
|
+
import type {
|
|
19
|
+
DataGridDefaultMenuItem,
|
|
20
|
+
DataGridGetContextMenuItemsParams,
|
|
21
|
+
DataGridMenuItemDef,
|
|
22
|
+
} from '@finos/legend-lego/data-grid';
|
|
23
|
+
import type { TDSRowDataType } from '@finos/legend-graph';
|
|
24
|
+
import { QueryBuilderTDSState } from '../../../stores/fetch-structure/tds/QueryBuilderTDSState.js';
|
|
25
|
+
import { filterByOrOutValues } from './QueryBuilderTDSResultShared.js';
|
|
26
|
+
import type { QueryBuilderResultState } from '../../../stores/QueryBuilderResultState.js';
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Build the shared context-menu items used by both the enterprise and
|
|
30
|
+
* simple TDS grid components:
|
|
31
|
+
* Filter By | Filter Out | Copy | Copy with Headers | Copy Row Value
|
|
32
|
+
*/
|
|
33
|
+
export const buildTDSGridContextMenuItems = (
|
|
34
|
+
params: DataGridGetContextMenuItemsParams<TDSRowDataType>,
|
|
35
|
+
applicationStore: GenericLegendApplicationStore,
|
|
36
|
+
resultState: QueryBuilderResultState,
|
|
37
|
+
onError: (error: Error) => void,
|
|
38
|
+
): (DataGridDefaultMenuItem | DataGridMenuItemDef)[] => {
|
|
39
|
+
const fetchStructureImplementation =
|
|
40
|
+
resultState.queryBuilderState.fetchStructureState.implementation;
|
|
41
|
+
if (fetchStructureImplementation instanceof QueryBuilderTDSState) {
|
|
42
|
+
return [
|
|
43
|
+
{
|
|
44
|
+
name: 'Filter By',
|
|
45
|
+
action: () => {
|
|
46
|
+
filterByOrOutValues(
|
|
47
|
+
applicationStore,
|
|
48
|
+
resultState.mousedOverCell,
|
|
49
|
+
true,
|
|
50
|
+
fetchStructureImplementation,
|
|
51
|
+
).catch(onError);
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
name: 'Filter Out',
|
|
56
|
+
action: () => {
|
|
57
|
+
filterByOrOutValues(
|
|
58
|
+
applicationStore,
|
|
59
|
+
resultState.mousedOverCell,
|
|
60
|
+
false,
|
|
61
|
+
fetchStructureImplementation,
|
|
62
|
+
).catch(onError);
|
|
63
|
+
},
|
|
64
|
+
},
|
|
65
|
+
'copy',
|
|
66
|
+
'copyWithHeaders',
|
|
67
|
+
{
|
|
68
|
+
name: 'Copy Row Value',
|
|
69
|
+
action: () => {
|
|
70
|
+
params.api.copySelectedRowsToClipboard();
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
];
|
|
74
|
+
}
|
|
75
|
+
return [];
|
|
76
|
+
};
|