@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
|
@@ -0,0 +1,265 @@
|
|
|
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
|
+
import { PRIMITIVE_TYPE } from '@finos/legend-graph';
|
|
17
|
+
const NUMERIC_TYPES = new Set([
|
|
18
|
+
PRIMITIVE_TYPE.INTEGER,
|
|
19
|
+
PRIMITIVE_TYPE.FLOAT,
|
|
20
|
+
PRIMITIVE_TYPE.DECIMAL,
|
|
21
|
+
PRIMITIVE_TYPE.NUMBER,
|
|
22
|
+
]);
|
|
23
|
+
const DATE_TYPES = new Set([
|
|
24
|
+
PRIMITIVE_TYPE.DATE,
|
|
25
|
+
PRIMITIVE_TYPE.STRICTDATE,
|
|
26
|
+
PRIMITIVE_TYPE.DATETIME,
|
|
27
|
+
]);
|
|
28
|
+
const STRING_TYPES = new Set([PRIMITIVE_TYPE.STRING]);
|
|
29
|
+
const MAX_BUCKETS = 20;
|
|
30
|
+
/**
|
|
31
|
+
* Build a frequency-distribution histogram for an array of numeric values.
|
|
32
|
+
* ...existing code...
|
|
33
|
+
*/
|
|
34
|
+
const computeDistribution = (values) => {
|
|
35
|
+
if (values.length === 0) {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
const dataMin = Math.min(...values);
|
|
39
|
+
const dataMax = Math.max(...values);
|
|
40
|
+
const range = dataMax - dataMin;
|
|
41
|
+
if (range === 0) {
|
|
42
|
+
return [{ lower: dataMin, upper: dataMax, count: values.length }];
|
|
43
|
+
}
|
|
44
|
+
// Use exact integer buckets when range is small enough
|
|
45
|
+
const allIntegers = values.every((v) => Number.isInteger(v));
|
|
46
|
+
const intRange = dataMax - dataMin + 1;
|
|
47
|
+
let bucketCount;
|
|
48
|
+
if (allIntegers && intRange <= MAX_BUCKETS) {
|
|
49
|
+
bucketCount = intRange;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
// Sturges' rule, capped at MAX_BUCKETS
|
|
53
|
+
bucketCount = Math.min(MAX_BUCKETS, Math.ceil(Math.log2(values.length) + 1));
|
|
54
|
+
}
|
|
55
|
+
const bucketSize = range / bucketCount;
|
|
56
|
+
const buckets = Array.from({ length: bucketCount }, (_, i) => ({
|
|
57
|
+
lower: dataMin + i * bucketSize,
|
|
58
|
+
upper: dataMin + (i + 1) * bucketSize,
|
|
59
|
+
count: 0,
|
|
60
|
+
}));
|
|
61
|
+
for (const v of values) {
|
|
62
|
+
const idx = Math.min(bucketCount - 1, Math.floor((v - dataMin) / bucketSize));
|
|
63
|
+
const bucket = buckets[idx];
|
|
64
|
+
if (bucket) {
|
|
65
|
+
bucket.count += 1;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return buckets;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Format an epoch-ms timestamp back to an ISO date/datetime string.
|
|
72
|
+
* Uses date-only format (YYYY-MM-DD) when the time component is midnight UTC.
|
|
73
|
+
*/
|
|
74
|
+
const epochToDateLabel = (epochMs) => {
|
|
75
|
+
const d = new Date(epochMs);
|
|
76
|
+
if (d.getUTCHours() === 0 &&
|
|
77
|
+
d.getUTCMinutes() === 0 &&
|
|
78
|
+
d.getUTCSeconds() === 0 &&
|
|
79
|
+
d.getUTCMilliseconds() === 0) {
|
|
80
|
+
return d.toISOString().slice(0, 10);
|
|
81
|
+
}
|
|
82
|
+
return d.toISOString().replace('T', ' ').slice(0, 19);
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Build a frequency-distribution histogram for an array of ISO date strings.
|
|
86
|
+
* Buckets are computed over epoch-ms timestamps; each bucket carries
|
|
87
|
+
* human-readable date labels for tooltip display.
|
|
88
|
+
*/
|
|
89
|
+
const computeDateDistribution = (dateStrings) => {
|
|
90
|
+
if (dateStrings.length === 0) {
|
|
91
|
+
return [];
|
|
92
|
+
}
|
|
93
|
+
const epochs = dateStrings
|
|
94
|
+
.map((s) => Date.parse(s))
|
|
95
|
+
.filter((e) => !Number.isNaN(e));
|
|
96
|
+
if (epochs.length === 0) {
|
|
97
|
+
return [];
|
|
98
|
+
}
|
|
99
|
+
const raw = computeDistribution(epochs);
|
|
100
|
+
return raw.map((b) => ({
|
|
101
|
+
...b,
|
|
102
|
+
lowerDateLabel: epochToDateLabel(b.lower),
|
|
103
|
+
upperDateLabel: epochToDateLabel(b.upper),
|
|
104
|
+
}));
|
|
105
|
+
};
|
|
106
|
+
const MAX_FREQ_ENTRIES = 10;
|
|
107
|
+
/**
|
|
108
|
+
* Safely convert an unknown value to a string key.
|
|
109
|
+
* Objects are serialised with JSON.stringify to avoid '[object Object]'.
|
|
110
|
+
*/
|
|
111
|
+
const valueToString = (v) => {
|
|
112
|
+
if (typeof v === 'string') {
|
|
113
|
+
return v;
|
|
114
|
+
}
|
|
115
|
+
if (typeof v === 'number' || typeof v === 'boolean') {
|
|
116
|
+
return String(v);
|
|
117
|
+
}
|
|
118
|
+
if (v === null || v === undefined) {
|
|
119
|
+
return '';
|
|
120
|
+
}
|
|
121
|
+
return JSON.stringify(v);
|
|
122
|
+
};
|
|
123
|
+
/**
|
|
124
|
+
* Build top-N value frequency list from non-null values.
|
|
125
|
+
* Values beyond the top N are collapsed into a single '(other)' entry.
|
|
126
|
+
* If nullCount > 0, an '(empty)' entry is appended at the end.
|
|
127
|
+
*/
|
|
128
|
+
const computeValueFrequencies = (nonNullValues, nullCount) => {
|
|
129
|
+
const freq = new Map();
|
|
130
|
+
for (const v of nonNullValues) {
|
|
131
|
+
const key = valueToString(v);
|
|
132
|
+
freq.set(key, (freq.get(key) ?? 0) + 1);
|
|
133
|
+
}
|
|
134
|
+
const sorted = [...freq.entries()].sort((a, b) => b[1] - a[1]);
|
|
135
|
+
const top = sorted.slice(0, MAX_FREQ_ENTRIES);
|
|
136
|
+
const otherCount = sorted
|
|
137
|
+
.slice(MAX_FREQ_ENTRIES)
|
|
138
|
+
.reduce((s, [, c]) => s + c, 0);
|
|
139
|
+
const result = top.map(([label, count]) => ({
|
|
140
|
+
label,
|
|
141
|
+
count,
|
|
142
|
+
}));
|
|
143
|
+
if (otherCount > 0) {
|
|
144
|
+
result.push({ label: '(other)', count: otherCount, isOther: true });
|
|
145
|
+
}
|
|
146
|
+
if (nullCount > 0) {
|
|
147
|
+
result.push({ label: '(empty)', count: nullCount, isEmpty: true });
|
|
148
|
+
}
|
|
149
|
+
return result;
|
|
150
|
+
};
|
|
151
|
+
const classifyColumns = (columnNames, columnTypes) => {
|
|
152
|
+
const isType = (typeSet) => [...columnNames].every((col) => {
|
|
153
|
+
const t = columnTypes.get(col);
|
|
154
|
+
return t !== undefined && typeSet.has(t);
|
|
155
|
+
});
|
|
156
|
+
if (isType(NUMERIC_TYPES)) {
|
|
157
|
+
return 'numeric';
|
|
158
|
+
}
|
|
159
|
+
if (isType(DATE_TYPES)) {
|
|
160
|
+
return 'date';
|
|
161
|
+
}
|
|
162
|
+
if (isType(STRING_TYPES)) {
|
|
163
|
+
return 'string';
|
|
164
|
+
}
|
|
165
|
+
return 'mixed';
|
|
166
|
+
};
|
|
167
|
+
const buildBaseStats = (count, uniqueCount, nullCount, valueFrequencies) => ({
|
|
168
|
+
count,
|
|
169
|
+
uniqueCount,
|
|
170
|
+
nullCount,
|
|
171
|
+
min: undefined,
|
|
172
|
+
max: undefined,
|
|
173
|
+
sum: undefined,
|
|
174
|
+
avg: undefined,
|
|
175
|
+
dateMin: undefined,
|
|
176
|
+
dateMax: undefined,
|
|
177
|
+
strMinLength: undefined,
|
|
178
|
+
strMaxLength: undefined,
|
|
179
|
+
distributionBuckets: undefined,
|
|
180
|
+
distributionChartType: undefined,
|
|
181
|
+
valueFrequencies,
|
|
182
|
+
});
|
|
183
|
+
const computeNumericStats = (base, selectedCells, valueFrequencies) => {
|
|
184
|
+
const numericValues = selectedCells
|
|
185
|
+
.map((c) => {
|
|
186
|
+
if (c.value === null || c.value === undefined || c.value === '') {
|
|
187
|
+
return null;
|
|
188
|
+
}
|
|
189
|
+
const n = Number(c.value);
|
|
190
|
+
return Number.isNaN(n) ? null : n;
|
|
191
|
+
})
|
|
192
|
+
.filter((v) => v !== null);
|
|
193
|
+
if (numericValues.length === 0) {
|
|
194
|
+
return { ...base, valueFrequencies };
|
|
195
|
+
}
|
|
196
|
+
const sum = numericValues.reduce((acc, n) => acc + n, 0);
|
|
197
|
+
return {
|
|
198
|
+
...base,
|
|
199
|
+
min: Math.min(...numericValues),
|
|
200
|
+
max: Math.max(...numericValues),
|
|
201
|
+
sum,
|
|
202
|
+
avg: sum / numericValues.length,
|
|
203
|
+
distributionBuckets: computeDistribution(numericValues),
|
|
204
|
+
distributionChartType: 'numeric',
|
|
205
|
+
valueFrequencies,
|
|
206
|
+
};
|
|
207
|
+
};
|
|
208
|
+
const computeDateStats = (base, nonNullValues, valueFrequencies) => {
|
|
209
|
+
const dateValues = nonNullValues.map(String).filter((s) => s.length > 0);
|
|
210
|
+
const sorted = [...dateValues].sort((a, b) => a.localeCompare(b));
|
|
211
|
+
const dateBuckets = computeDateDistribution(dateValues);
|
|
212
|
+
return {
|
|
213
|
+
...base,
|
|
214
|
+
dateMin: sorted[0],
|
|
215
|
+
dateMax: sorted[sorted.length - 1],
|
|
216
|
+
distributionBuckets: dateBuckets.length >= 2 ? dateBuckets : undefined,
|
|
217
|
+
distributionChartType: dateBuckets.length >= 2 ? 'date' : undefined,
|
|
218
|
+
valueFrequencies,
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
const computeStringStats = (base, nonNullValues, valueFrequencies) => {
|
|
222
|
+
const lengths = nonNullValues
|
|
223
|
+
.map((v) => valueToString(v).length)
|
|
224
|
+
.filter((l) => l > 0);
|
|
225
|
+
return {
|
|
226
|
+
...base,
|
|
227
|
+
strMinLength: lengths.length > 0 ? Math.min(...lengths) : undefined,
|
|
228
|
+
strMaxLength: lengths.length > 0 ? Math.max(...lengths) : undefined,
|
|
229
|
+
distributionBuckets: lengths.length > 0 ? computeDistribution(lengths) : undefined,
|
|
230
|
+
distributionChartType: lengths.length > 0 ? 'string-length' : undefined,
|
|
231
|
+
valueFrequencies,
|
|
232
|
+
};
|
|
233
|
+
};
|
|
234
|
+
/**
|
|
235
|
+
* Compute summary statistics for a cell selection.
|
|
236
|
+
* ...existing code...
|
|
237
|
+
*/
|
|
238
|
+
export const computeCellSelectionStats = (selectedCells, columnTypes) => {
|
|
239
|
+
if (selectedCells.length < 2) {
|
|
240
|
+
return undefined;
|
|
241
|
+
}
|
|
242
|
+
const count = selectedCells.length;
|
|
243
|
+
const nullCount = selectedCells.filter((c) => c.value === null || c.value === undefined || c.value === '').length;
|
|
244
|
+
const nonNullValues = selectedCells
|
|
245
|
+
.map((c) => c.value)
|
|
246
|
+
.filter((v) => v !== null && v !== undefined && v !== '');
|
|
247
|
+
const uniqueCount = new Set(nonNullValues).size;
|
|
248
|
+
const selectedColumnNames = new Set(selectedCells.map((c) => c.columnName));
|
|
249
|
+
const columnTypeCategory = classifyColumns(selectedColumnNames, columnTypes);
|
|
250
|
+
const valueFrequencies = nonNullValues.length > 0 || nullCount > 0
|
|
251
|
+
? computeValueFrequencies(nonNullValues, nullCount)
|
|
252
|
+
: undefined;
|
|
253
|
+
const base = buildBaseStats(count, uniqueCount, nullCount, valueFrequencies);
|
|
254
|
+
if (columnTypeCategory === 'numeric') {
|
|
255
|
+
return computeNumericStats(base, selectedCells, valueFrequencies);
|
|
256
|
+
}
|
|
257
|
+
if (columnTypeCategory === 'date') {
|
|
258
|
+
return computeDateStats(base, nonNullValues, valueFrequencies);
|
|
259
|
+
}
|
|
260
|
+
if (columnTypeCategory === 'string') {
|
|
261
|
+
return computeStringStats(base, nonNullValues, valueFrequencies);
|
|
262
|
+
}
|
|
263
|
+
return base;
|
|
264
|
+
};
|
|
265
|
+
//# sourceMappingURL=QueryBuilderTDSCellSelectionStats.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilderTDSCellSelectionStats.js","sourceRoot":"","sources":["../../../../src/components/result/tds/QueryBuilderTDSCellSelectionStats.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import type { CellSelectionStats } from './QueryBuilderTDSCellSelectionStats.js';
|
|
17
|
+
export declare const QueryBuilderTDSCellSelectionStatsBar: ((props: {
|
|
18
|
+
/** Fully-computed stats, or undefined while computation is in progress */
|
|
19
|
+
stats: CellSelectionStats | undefined;
|
|
20
|
+
/** Total number of selected cells — 0 while Phase 1 debounce is pending */
|
|
21
|
+
cellCount: number;
|
|
22
|
+
/** True once the 50 ms debounce has resolved and cellCount is accurate */
|
|
23
|
+
countReady: boolean;
|
|
24
|
+
darkMode: boolean;
|
|
25
|
+
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
26
|
+
displayName: string;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=QueryBuilderTDSCellSelectionStatsBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilderTDSCellSelectionStatsBar.d.ts","sourceRoot":"","sources":["../../../../src/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAOH,OAAO,KAAK,EACV,kBAAkB,EAInB,MAAM,wCAAwC,CAAC;AA0NhD,eAAO,MAAM,oCAAoC,WACvC;IACN,0EAA0E;IAC1E,KAAK,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;CACnB;;CAyLF,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import { observer } from 'mobx-react-lite';
|
|
18
|
+
import { useRef, useLayoutEffect } from 'react';
|
|
19
|
+
import { clsx } from '@finos/legend-art';
|
|
20
|
+
import { MAXIMUM_FRACTION_DIGITS } from './QueryBuilderTDSSimpleGridResult.js';
|
|
21
|
+
import { DEFAULT_LOCALE } from '../../../graph-manager/QueryBuilderConst.js';
|
|
22
|
+
const formatNum = (value) => Intl.NumberFormat(DEFAULT_LOCALE, {
|
|
23
|
+
maximumFractionDigits: MAXIMUM_FRACTION_DIGITS,
|
|
24
|
+
}).format(value);
|
|
25
|
+
// ---------------------------------------------------------------------------
|
|
26
|
+
// Inline loading spinner — shown while stats are being computed
|
|
27
|
+
// ---------------------------------------------------------------------------
|
|
28
|
+
const StatsSpinner = () => (_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__spinner", title: "Computing\u2026" }));
|
|
29
|
+
// ---------------------------------------------------------------------------
|
|
30
|
+
// Value-frequency tooltip (shown on Unique Count hover)
|
|
31
|
+
// ---------------------------------------------------------------------------
|
|
32
|
+
const FREQ_CHART_HEIGHT = 10; // px per row
|
|
33
|
+
const FREQ_CHART_BAR_AREA = 80; // px available for bars
|
|
34
|
+
const FREQ_LABEL_WIDTH = 90; // px for label column
|
|
35
|
+
const FREQ_COUNT_WIDTH = 30; // px for count column
|
|
36
|
+
const FREQ_TOTAL_WIDTH = FREQ_LABEL_WIDTH + FREQ_CHART_BAR_AREA + FREQ_COUNT_WIDTH + 8;
|
|
37
|
+
const ValueFrequencyTooltip = ({ frequencies, darkMode, }) => {
|
|
38
|
+
const maxCount = Math.max(...frequencies.map((f) => f.count));
|
|
39
|
+
const tooltipRef = useRef(null);
|
|
40
|
+
// After the tooltip becomes visible, clamp it within the viewport so that
|
|
41
|
+
// it never overflows off the left or right edge of the window.
|
|
42
|
+
useLayoutEffect(() => {
|
|
43
|
+
const el = tooltipRef.current;
|
|
44
|
+
if (!el) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
const rect = el.getBoundingClientRect();
|
|
48
|
+
if (rect.left < 0) {
|
|
49
|
+
el.style.left = `${-rect.left + 4}px`;
|
|
50
|
+
}
|
|
51
|
+
else if (rect.right > globalThis.innerWidth) {
|
|
52
|
+
el.style.left = `${globalThis.innerWidth - rect.right - 4}px`;
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
return (_jsx("div", { ref: tooltipRef, className: clsx('query-builder__result__tds-grid__stats-bar__freq-tooltip', {
|
|
56
|
+
'query-builder__result__tds-grid__stats-bar__freq-tooltip--dark': darkMode,
|
|
57
|
+
}), children: _jsx("svg", { width: FREQ_TOTAL_WIDTH, height: frequencies.length * (FREQ_CHART_HEIGHT + 3) + 2, children: frequencies.map((freq, i) => {
|
|
58
|
+
const y = i * (FREQ_CHART_HEIGHT + 3) + 1;
|
|
59
|
+
const barW = Math.max(1, (freq.count / maxCount) * FREQ_CHART_BAR_AREA);
|
|
60
|
+
const labelText = freq.label.length > 12 ? `${freq.label.slice(0, 11)}…` : freq.label;
|
|
61
|
+
return (_jsxs("g", { children: [_jsx("text", { x: FREQ_LABEL_WIDTH - 4, y: y + FREQ_CHART_HEIGHT - 2, textAnchor: "end", className: clsx('query-builder__result__tds-grid__stats-bar__freq-tooltip__label', {
|
|
62
|
+
'query-builder__result__tds-grid__stats-bar__freq-tooltip__label--other': freq.isOther,
|
|
63
|
+
'query-builder__result__tds-grid__stats-bar__freq-tooltip__label--empty': freq.isEmpty,
|
|
64
|
+
}), children: labelText }), _jsx("rect", { x: FREQ_LABEL_WIDTH, y: y, width: barW, height: FREQ_CHART_HEIGHT, className: clsx('query-builder__result__tds-grid__stats-bar__freq-tooltip__bar', {
|
|
65
|
+
'query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--other': freq.isOther,
|
|
66
|
+
'query-builder__result__tds-grid__stats-bar__freq-tooltip__bar--empty': freq.isEmpty,
|
|
67
|
+
}) }), _jsx("text", { x: FREQ_LABEL_WIDTH + FREQ_CHART_BAR_AREA + 4, y: y + FREQ_CHART_HEIGHT - 2, className: "query-builder__result__tds-grid__stats-bar__freq-tooltip__count", children: freq.count })] }, i));
|
|
68
|
+
}) }) }));
|
|
69
|
+
};
|
|
70
|
+
const formatBucketLabel = (bucket, chartType) => {
|
|
71
|
+
const n = bucket.count;
|
|
72
|
+
const countLabel = `${n} ${n === 1 ? 'value' : 'values'}`;
|
|
73
|
+
if (chartType === 'date') {
|
|
74
|
+
const lo = bucket.lowerDateLabel ?? bucket.lower;
|
|
75
|
+
const hi = bucket.upperDateLabel ?? bucket.upper;
|
|
76
|
+
if (lo === hi) {
|
|
77
|
+
return `${countLabel} on ${lo}`;
|
|
78
|
+
}
|
|
79
|
+
return `${countLabel} within the range ${lo} – ${hi}`;
|
|
80
|
+
}
|
|
81
|
+
if (chartType === 'string-length') {
|
|
82
|
+
const lo = Math.round(bucket.lower);
|
|
83
|
+
const hi = Math.round(bucket.upper);
|
|
84
|
+
if (lo === hi) {
|
|
85
|
+
return `${countLabel} with length ${lo}`;
|
|
86
|
+
}
|
|
87
|
+
return `${countLabel} with length ${lo} – ${hi}`;
|
|
88
|
+
}
|
|
89
|
+
// numeric
|
|
90
|
+
if (bucket.lower === bucket.upper) {
|
|
91
|
+
return `${countLabel} equal to ${formatNum(bucket.lower)}`;
|
|
92
|
+
}
|
|
93
|
+
return `${countLabel} within the range ${formatNum(bucket.lower)} – ${formatNum(bucket.upper)}`;
|
|
94
|
+
};
|
|
95
|
+
// Compact SVG frequency-distribution histogram
|
|
96
|
+
const CHART_HEIGHT = 18;
|
|
97
|
+
const CHART_WIDTH = 120;
|
|
98
|
+
const BAR_GAP = 1;
|
|
99
|
+
const MiniHistogram = ({ buckets, chartType, darkMode, }) => {
|
|
100
|
+
if (buckets.length === 0) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
const maxCount = Math.max(...buckets.map((b) => b.count));
|
|
104
|
+
if (maxCount === 0) {
|
|
105
|
+
return null;
|
|
106
|
+
}
|
|
107
|
+
const n = buckets.length;
|
|
108
|
+
const barW = Math.max(1, (CHART_WIDTH - BAR_GAP * (n - 1)) / n);
|
|
109
|
+
return (_jsx("div", { className: clsx('query-builder__result__tds-grid__stats-bar__chart', {
|
|
110
|
+
'query-builder__result__tds-grid__stats-bar__chart--dark': darkMode,
|
|
111
|
+
}), children: _jsx("svg", { width: CHART_WIDTH, height: CHART_HEIGHT, children: buckets.map((bucket, i) => {
|
|
112
|
+
const barH = Math.max(1, (bucket.count / maxCount) * CHART_HEIGHT);
|
|
113
|
+
const x = i * (barW + BAR_GAP);
|
|
114
|
+
return (_jsx("rect", { x: x, y: CHART_HEIGHT - barH, width: barW, height: barH, opacity: bucket.count === 0 ? 0.15 : 1, children: _jsx("title", { children: formatBucketLabel(bucket, chartType) }) }, i));
|
|
115
|
+
}) }) }));
|
|
116
|
+
};
|
|
117
|
+
export const QueryBuilderTDSCellSelectionStatsBar = observer((props) => {
|
|
118
|
+
const { stats, cellCount, countReady, darkMode } = props;
|
|
119
|
+
const loading = stats === undefined;
|
|
120
|
+
const hasNumericStats = !loading && stats.sum !== undefined;
|
|
121
|
+
const hasDateStats = !loading && stats.dateMin !== undefined;
|
|
122
|
+
const hasStringStats = !loading && stats.strMinLength !== undefined;
|
|
123
|
+
const hasChart = !loading &&
|
|
124
|
+
stats.distributionBuckets !== undefined &&
|
|
125
|
+
stats.distributionBuckets.length >= 2;
|
|
126
|
+
return (_jsxs("div", { className: clsx('query-builder__result__tds-grid__stats-bar', {
|
|
127
|
+
'query-builder__result__tds-grid__stats-bar--dark': darkMode,
|
|
128
|
+
}), children: [_jsxs("span", { className: clsx('query-builder__result__tds-grid__stats-bar__item', {
|
|
129
|
+
'query-builder__result__tds-grid__stats-bar__item--has-tooltip': !loading &&
|
|
130
|
+
stats.valueFrequencies !== undefined &&
|
|
131
|
+
stats.valueFrequencies.length > 0,
|
|
132
|
+
}), children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Count:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: countReady ? cellCount : _jsx(StatsSpinner, {}) }), !loading &&
|
|
133
|
+
stats.valueFrequencies !== undefined &&
|
|
134
|
+
stats.valueFrequencies.length > 0 && (_jsx(ValueFrequencyTooltip, { frequencies: stats.valueFrequencies, darkMode: darkMode }))] }), _jsxs("span", { className: clsx('query-builder__result__tds-grid__stats-bar__item', {
|
|
135
|
+
'query-builder__result__tds-grid__stats-bar__item--has-tooltip': !loading &&
|
|
136
|
+
stats.valueFrequencies !== undefined &&
|
|
137
|
+
stats.valueFrequencies.length > 0,
|
|
138
|
+
}), children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Unique Count:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: loading ? _jsx(StatsSpinner, {}) : stats.uniqueCount }), !loading &&
|
|
139
|
+
stats.valueFrequencies !== undefined &&
|
|
140
|
+
stats.valueFrequencies.length > 0 && (_jsx(ValueFrequencyTooltip, { frequencies: stats.valueFrequencies, darkMode: darkMode }))] }), _jsxs("span", { className: clsx('query-builder__result__tds-grid__stats-bar__item', {
|
|
141
|
+
'query-builder__result__tds-grid__stats-bar__item--has-tooltip': !loading &&
|
|
142
|
+
stats.valueFrequencies !== undefined &&
|
|
143
|
+
stats.valueFrequencies.length > 0,
|
|
144
|
+
}), children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Empty Count:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: loading ? _jsx(StatsSpinner, {}) : stats.nullCount }), !loading &&
|
|
145
|
+
stats.valueFrequencies !== undefined &&
|
|
146
|
+
stats.valueFrequencies.length > 0 && (_jsx(ValueFrequencyTooltip, { frequencies: stats.valueFrequencies, darkMode: darkMode }))] }), hasNumericStats && (_jsxs(_Fragment, { children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__separator" }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Min:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: formatNum(stats.min ?? 0) })] }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Max:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: formatNum(stats.max ?? 0) })] }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Sum:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: formatNum(stats.sum ?? 0) })] }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Avg:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: formatNum(stats.avg ?? 0) })] })] })), hasDateStats && (_jsxs(_Fragment, { children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__separator" }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Min:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: stats.dateMin })] }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Max:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: stats.dateMax })] })] })), hasStringStats && (_jsxs(_Fragment, { children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__separator" }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Min Length:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: stats.strMinLength })] }), _jsxs("span", { className: "query-builder__result__tds-grid__stats-bar__item", children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__label", children: "Max Length:" }), _jsx("span", { className: "query-builder__result__tds-grid__stats-bar__item__value", children: stats.strMaxLength })] })] })), hasChart && (_jsxs(_Fragment, { children: [_jsx("span", { className: "query-builder__result__tds-grid__stats-bar__separator" }), _jsx(MiniHistogram, { buckets: stats.distributionBuckets ?? [], chartType: stats.distributionChartType ?? 'numeric', darkMode: darkMode })] }))] }));
|
|
147
|
+
});
|
|
148
|
+
//# sourceMappingURL=QueryBuilderTDSCellSelectionStatsBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilderTDSCellSelectionStatsBar.js","sourceRoot":"","sources":["../../../../src/components/result/tds/QueryBuilderTDSCellSelectionStatsBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
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
|
+
import type { DataGridCellKeyDownEvent } from '@finos/legend-lego/data-grid';
|
|
17
|
+
import type { TDSRowDataType } from '@finos/legend-graph';
|
|
18
|
+
export declare const handleGridKeyboardShortcut: (event: DataGridCellKeyDownEvent<TDSRowDataType>) => void;
|
|
19
|
+
//# sourceMappingURL=QueryBuilderTDSGridKeyboardShortcuts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryBuilderTDSGridKeyboardShortcuts.d.ts","sourceRoot":"","sources":["../../../../src/components/result/tds/QueryBuilderTDSGridKeyboardShortcuts.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAEV,wBAAwB,EAEzB,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAgN1D,eAAO,MAAM,0BAA0B,GACrC,OAAO,wBAAwB,CAAC,cAAc,CAAC,KAC9C,IAsCF,CAAC"}
|