@finos/legend-application-query 5.2.6 → 5.2.7
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 +22 -11
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +12 -7
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderSetupPanel.js +1 -1
- package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts +1 -2
- package/lib/components/explorer/QueryBuilderExplorerPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +14 -16
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js +2 -2
- package/lib/components/explorer/QueryBuilderPropertySearchPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js +22 -105
- package/lib/components/fetch-structure/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts +1 -2
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js +8 -10
- package/lib/components/fetch-structure/QueryBuilderGraphFetchTreePanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +23 -17
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts +2 -2
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js +15 -12
- package/lib/components/fetch-structure/QueryBuilderProjectionPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts +2 -2
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +23 -28
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +7 -7
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js +1 -1
- package/lib/components/shared/QueryBuilderPanelIssueCountBadge.js.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +5 -3
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +7 -7
- package/lib/stores/QueryBuilderPreviewDataHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPreviewDataHelper.js +17 -14
- package/lib/stores/QueryBuilderPreviewDataHelper.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +34 -24
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +1 -2
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +17 -26
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts +124 -0
- package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -0
- package/lib/stores/QueryBuilderStateBuilder.js +310 -0
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -0
- package/lib/stores/{QueryBuilderTestUtils.d.ts → QueryBuilderStateTestUtils.d.ts} +2 -2
- package/lib/stores/QueryBuilderStateTestUtils.d.ts.map +1 -0
- package/lib/stores/{QueryBuilderTestUtils.js → QueryBuilderStateTestUtils.js} +2 -2
- package/lib/stores/QueryBuilderStateTestUtils.js.map +1 -0
- package/lib/stores/QueryBuilderTypeaheadHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTypeaheadHelper.js +14 -12
- package/lib/stores/QueryBuilderTypeaheadHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts +3 -11
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js +10 -319
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts +27 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +153 -0
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -0
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +37 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +79 -2
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts +12 -11
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +53 -20
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.d.ts +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.js +3 -1
- package/lib/stores/explorer/QueryBuilderPropertySearchPanelState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts +17 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js +10 -0
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts +3 -20
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js +31 -73
- package/lib/stores/fetch-structure/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts +17 -4
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +110 -21
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts +20 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js +62 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts +2 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +3 -8
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts +9 -2
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js +28 -5
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +2 -2
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts +10 -2
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +102 -39
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.d.ts +25 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js +186 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts +9 -4
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +129 -13
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.d.ts +20 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.js +96 -0
- package/lib/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/{QueryBuilderPostFilterValueSpecificationProcessor.d.ts → QueryBuilderPostFilterStateBuilder.d.ts} +4 -3
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/{QueryBuilderPostFilterValueSpecificationProcessor.js → QueryBuilderPostFilterStateBuilder.js} +30 -21
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +1 -4
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +1 -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.js +1 -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.js +1 -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.js +1 -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.js +1 -1
- 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.js +1 -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.js +1 -1
- 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.js +1 -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.js +1 -1
- 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.js +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts +19 -0
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -0
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +74 -0
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -0
- package/lib/stores/filter/{QueryBuilderValueSpecificationBuilder.d.ts → QueryBuilderFilterValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/filter/{QueryBuilderValueSpecificationBuilder.js → QueryBuilderFilterValueSpecificationBuilder.js} +1 -1
- package/lib/stores/filter/QueryBuilderFilterValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js +5 -5
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +1 -1
- package/package.json +14 -14
- package/src/components/QueryBuilder.tsx +47 -28
- package/src/components/QueryBuilderResultPanel.tsx +21 -14
- package/src/components/QueryBuilderSetupPanel.tsx +1 -1
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +23 -38
- package/src/components/explorer/QueryBuilderPropertySearchPanel.tsx +2 -2
- package/src/components/fetch-structure/QueryBuilderFetchStructurePanel.tsx +41 -175
- package/src/components/fetch-structure/QueryBuilderGraphFetchTreePanel.tsx +9 -12
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +62 -28
- package/src/components/fetch-structure/QueryBuilderProjectionPanel.tsx +74 -48
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +33 -41
- package/src/components/filter/QueryBuilderFilterPanel.tsx +7 -7
- package/src/components/shared/QueryBuilderPanelIssueCountBadge.tsx +3 -1
- package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +5 -8
- package/src/stores/QueryBuilderPreviewDataHelper.ts +27 -18
- package/src/stores/QueryBuilderPropertyEditorState.ts +40 -31
- package/src/stores/QueryBuilderState.ts +26 -32
- package/src/stores/QueryBuilderStateBuilder.ts +584 -0
- package/src/stores/{QueryBuilderTestUtils.ts → QueryBuilderStateTestUtils.ts} +1 -1
- package/src/stores/QueryBuilderTypeaheadHelper.ts +23 -16
- package/src/stores/QueryBuilderValueSpecificationBuilder.ts +24 -584
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +248 -0
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +114 -0
- package/src/stores/explorer/QueryBuilderExplorerState.ts +73 -33
- package/src/stores/explorer/QueryBuilderPropertySearchPanelState.ts +3 -1
- package/src/stores/fetch-structure/QueryBuilderFetchStructureImplementationState.ts +33 -2
- package/src/stores/fetch-structure/QueryBuilderFetchStructureState.ts +53 -118
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +166 -26
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeStateBuilder.ts +131 -0
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +10 -19
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.ts +68 -4
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +2 -2
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +172 -67
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts +426 -0
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +266 -21
- package/src/stores/fetch-structure/projection/aggregation/QueryBuilderAggregationStateBuilder.ts +228 -0
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/{QueryBuilderPostFilterValueSpecificationProcessor.ts → QueryBuilderPostFilterStateBuilder.ts} +68 -48
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +1 -11
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +1 -1
- package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +155 -0
- package/src/stores/filter/{QueryBuilderValueSpecificationBuilder.ts → QueryBuilderFilterValueSpecificationBuilder.ts} +0 -0
- package/src/stores/filter/operators/QueryBuilderFilterOperatorHelper.ts +5 -5
- package/tsconfig.json +10 -5
- package/tsconfig.package.json +1 -1
- package/lib/stores/QueryBuilderTestUtils.d.ts.map +0 -1
- package/lib/stores/QueryBuilderTestUtils.js.map +0 -1
- package/lib/stores/QueryBuilderValueSpecificationProcessor.d.ts +0 -56
- package/lib/stores/QueryBuilderValueSpecificationProcessor.d.ts.map +0 -1
- package/lib/stores/QueryBuilderValueSpecificationProcessor.js +0 -548
- package/lib/stores/QueryBuilderValueSpecificationProcessor.js.map +0 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.d.ts.map +0 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationProcessor.js.map +0 -1
- package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.d.ts.map +0 -1
- package/lib/stores/filter/QueryBuilderValueSpecificationBuilder.js.map +0 -1
- package/src/stores/QueryBuilderValueSpecificationProcessor.ts +0 -1254
@@ -15,38 +15,44 @@
|
|
15
15
|
*/
|
16
16
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
18
|
-
import {
|
19
|
-
clsx,
|
20
|
-
BlankPanelContent,
|
21
|
-
PlusIcon,
|
22
|
-
OptionsIcon,
|
23
|
-
} from '@finos/legend-art';
|
18
|
+
import { clsx, BlankPanelContent } from '@finos/legend-art';
|
24
19
|
import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
|
25
20
|
import { prettyCONSTName } from '@finos/legend-shared';
|
26
21
|
import { QueryBuilderProjectionPanel } from './QueryBuilderProjectionPanel.js';
|
27
22
|
import { QueryBuilderGraphFetchTreePanel } from './QueryBuilderGraphFetchTreePanel.js';
|
28
|
-
import { FETCH_STRUCTURE_MODE } from '../../stores/fetch-structure/QueryBuilderFetchStructureState.js';
|
29
|
-
import { QueryBuilderPostFilterState } from '../../stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterState.js';
|
30
|
-
import {
|
31
|
-
ActionAlertActionType,
|
32
|
-
ActionAlertType,
|
33
|
-
useApplicationStore,
|
34
|
-
} from '@finos/legend-application';
|
35
23
|
import { QueryBuilderProjectionState } from '../../stores/fetch-structure/projection/QueryBuilderProjectionState.js';
|
36
24
|
import { QueryBuilderGraphFetchTreeState } from '../../stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js';
|
37
25
|
import { QueryBuilderPanelIssueCountBadge } from '../shared/QueryBuilderPanelIssueCountBadge.js';
|
26
|
+
import { FETCH_STRUCTURE_IMPLEMENTATION } from '../../stores/fetch-structure/QueryBuilderFetchStructureImplementationState.js';
|
38
27
|
|
39
|
-
const
|
40
|
-
(props: {
|
41
|
-
const {
|
28
|
+
const QueryBuilderFetchStructureEditor = observer(
|
29
|
+
(props: { queryBuilderState: QueryBuilderState }) => {
|
30
|
+
const { queryBuilderState } = props;
|
31
|
+
const fetchStructureState = queryBuilderState.fetchStructureState;
|
32
|
+
const fetchStructureImplementation = fetchStructureState.implementation;
|
42
33
|
|
34
|
+
if (fetchStructureImplementation instanceof QueryBuilderProjectionState) {
|
35
|
+
return (
|
36
|
+
<QueryBuilderProjectionPanel
|
37
|
+
projectionState={fetchStructureImplementation}
|
38
|
+
/>
|
39
|
+
);
|
40
|
+
} else if (
|
41
|
+
fetchStructureImplementation instanceof QueryBuilderGraphFetchTreeState
|
42
|
+
) {
|
43
|
+
return (
|
44
|
+
<QueryBuilderGraphFetchTreePanel
|
45
|
+
graphFetchTreeState={fetchStructureImplementation}
|
46
|
+
/>
|
47
|
+
);
|
48
|
+
}
|
43
49
|
return (
|
44
50
|
<div className="panel__content">
|
45
51
|
<BlankPanelContent>
|
46
52
|
<div className="query-builder__unsupported-view__main">
|
47
|
-
<div className="query-builder__unsupported-view__summary">
|
48
|
-
|
49
|
-
|
53
|
+
<div className="query-builder__unsupported-view__summary">
|
54
|
+
Unsupported fetch structure
|
55
|
+
</div>
|
50
56
|
</div>
|
51
57
|
</BlankPanelContent>
|
52
58
|
</div>
|
@@ -58,138 +64,16 @@ export const QueryBuilderFetchStructurePanel = observer(
|
|
58
64
|
(props: { queryBuilderState: QueryBuilderState }) => {
|
59
65
|
const { queryBuilderState } = props;
|
60
66
|
const fetchStructureState = queryBuilderState.fetchStructureState;
|
61
|
-
const fetchStructureStateMode = fetchStructureState.fetchStructureMode;
|
62
|
-
const applicationStore = useApplicationStore();
|
63
|
-
const openResultSetModifierEditor = (): void =>
|
64
|
-
queryBuilderState.fetchStructureState.projectionState.resultSetModifierState.setShowModal(
|
65
|
-
true,
|
66
|
-
);
|
67
|
-
const addNewBlankDerivation = (): void =>
|
68
|
-
fetchStructureState.projectionState.addNewBlankDerivation();
|
69
|
-
|
70
|
-
const renderFetchMode = (): React.ReactNode => {
|
71
|
-
switch (fetchStructureStateMode) {
|
72
|
-
case FETCH_STRUCTURE_MODE.PROJECTION:
|
73
|
-
return (
|
74
|
-
<QueryBuilderProjectionPanel
|
75
|
-
queryBuilderState={queryBuilderState}
|
76
|
-
/>
|
77
|
-
);
|
78
|
-
case FETCH_STRUCTURE_MODE.GRAPH_FETCH:
|
79
|
-
return (
|
80
|
-
<QueryBuilderGraphFetchTreePanel
|
81
|
-
queryBuilderState={queryBuilderState}
|
82
|
-
/>
|
83
|
-
);
|
84
|
-
default:
|
85
|
-
return (
|
86
|
-
<QueryBuilderUnsupportedFetchStructure
|
87
|
-
mode={fetchStructureStateMode}
|
88
|
-
/>
|
89
|
-
);
|
90
|
-
}
|
91
|
-
};
|
92
67
|
|
93
|
-
const
|
94
|
-
(
|
68
|
+
const onChangeFetchStructureImplementation =
|
69
|
+
(implementationType: FETCH_STRUCTURE_IMPLEMENTATION): (() => void) =>
|
95
70
|
(): void => {
|
96
|
-
|
97
|
-
fetchStructureState.
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
queryBuilderState.fetchStructureState.projectionState,
|
102
|
-
queryBuilderState.fetchStructureState.projectionState.postFilterOperators,
|
103
|
-
);
|
104
|
-
queryBuilderState.fetchStructureState.projectionState.setShowPostFilterPanel(
|
105
|
-
false,
|
71
|
+
if (fetchStructureState.implementation.type !== implementationType) {
|
72
|
+
fetchStructureState.implementation.checkBeforeChangingImplementation(
|
73
|
+
() => {
|
74
|
+
fetchStructureState.changeImplementation(implementationType);
|
75
|
+
},
|
106
76
|
);
|
107
|
-
};
|
108
|
-
if (fetchStructureState.fetchStructureMode !== fetchMode) {
|
109
|
-
switch (fetchMode) {
|
110
|
-
case FETCH_STRUCTURE_MODE.GRAPH_FETCH: {
|
111
|
-
if (
|
112
|
-
queryBuilderState.fetchStructureState.projectionState.columns
|
113
|
-
.length > 0
|
114
|
-
// NOTE: here we could potentially check for the presence of post-filter as well
|
115
|
-
// but we make the assumption that if there is no projection column, there should
|
116
|
-
// not be any post-filter at all
|
117
|
-
) {
|
118
|
-
applicationStore.setActionAlertInfo({
|
119
|
-
message:
|
120
|
-
queryBuilderState.fetchStructureState.projectionState
|
121
|
-
.showPostFilterPanel &&
|
122
|
-
queryBuilderState.fetchStructureState.projectionState
|
123
|
-
.postFilterState.nodes.size > 0
|
124
|
-
? 'With graph-fetch mode, post filter is not supported. Current projection columns and post filters will be lost when switching to the graph-fetch mode. Do you still want to proceed?'
|
125
|
-
: 'Current projection columns will be lost when switching to the graph-fetch mode. Do you still want to proceed?',
|
126
|
-
type: ActionAlertType.CAUTION,
|
127
|
-
actions: [
|
128
|
-
{
|
129
|
-
label: 'Proceed',
|
130
|
-
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
131
|
-
handler: applicationStore.guardUnhandledError(
|
132
|
-
async () => {
|
133
|
-
queryBuilderState.fetchStructureState.projectionState =
|
134
|
-
new QueryBuilderProjectionState(
|
135
|
-
queryBuilderState,
|
136
|
-
queryBuilderState.fetchStructureState,
|
137
|
-
);
|
138
|
-
reset();
|
139
|
-
},
|
140
|
-
),
|
141
|
-
},
|
142
|
-
{
|
143
|
-
label: 'Cancel',
|
144
|
-
type: ActionAlertActionType.PROCEED,
|
145
|
-
default: true,
|
146
|
-
},
|
147
|
-
],
|
148
|
-
});
|
149
|
-
} else {
|
150
|
-
reset();
|
151
|
-
}
|
152
|
-
return;
|
153
|
-
}
|
154
|
-
case FETCH_STRUCTURE_MODE.PROJECTION: {
|
155
|
-
if (
|
156
|
-
queryBuilderState.fetchStructureState.graphFetchTreeState
|
157
|
-
.treeData?.rootIds.length
|
158
|
-
) {
|
159
|
-
applicationStore.setActionAlertInfo({
|
160
|
-
message:
|
161
|
-
'Current graph-fetch will be lost when switching to projection mode. Do you still want to proceed?',
|
162
|
-
type: ActionAlertType.CAUTION,
|
163
|
-
actions: [
|
164
|
-
{
|
165
|
-
label: 'Proceed',
|
166
|
-
type: ActionAlertActionType.PROCEED_WITH_CAUTION,
|
167
|
-
handler: applicationStore.guardUnhandledError(
|
168
|
-
async () => {
|
169
|
-
queryBuilderState.fetchStructureState.graphFetchTreeState =
|
170
|
-
new QueryBuilderGraphFetchTreeState(
|
171
|
-
queryBuilderState,
|
172
|
-
queryBuilderState.fetchStructureState,
|
173
|
-
);
|
174
|
-
reset();
|
175
|
-
},
|
176
|
-
),
|
177
|
-
},
|
178
|
-
{
|
179
|
-
label: 'Cancel',
|
180
|
-
type: ActionAlertActionType.PROCEED,
|
181
|
-
default: true,
|
182
|
-
},
|
183
|
-
],
|
184
|
-
});
|
185
|
-
} else {
|
186
|
-
reset();
|
187
|
-
}
|
188
|
-
return;
|
189
|
-
}
|
190
|
-
default:
|
191
|
-
return;
|
192
|
-
}
|
193
77
|
}
|
194
78
|
};
|
195
79
|
|
@@ -199,47 +83,29 @@ export const QueryBuilderFetchStructurePanel = observer(
|
|
199
83
|
<div className="panel__header__title">
|
200
84
|
<div className="panel__header__title__label">fetch structure</div>
|
201
85
|
<QueryBuilderPanelIssueCountBadge
|
202
|
-
issues={fetchStructureState.validationIssues}
|
86
|
+
issues={fetchStructureState.implementation.validationIssues}
|
203
87
|
/>
|
204
88
|
</div>
|
205
89
|
<div className="panel__header__actions">
|
206
|
-
{fetchStructureStateMode === FETCH_STRUCTURE_MODE.PROJECTION && (
|
207
|
-
<>
|
208
|
-
<button
|
209
|
-
className="panel__header__action"
|
210
|
-
onClick={openResultSetModifierEditor}
|
211
|
-
tabIndex={-1}
|
212
|
-
title="Configure result set modifiers..."
|
213
|
-
>
|
214
|
-
<OptionsIcon className="query-builder__icon query-builder__icon__query-option" />
|
215
|
-
</button>
|
216
|
-
<button
|
217
|
-
className="panel__header__action"
|
218
|
-
onClick={addNewBlankDerivation}
|
219
|
-
tabIndex={-1}
|
220
|
-
title="Add a new derivation"
|
221
|
-
>
|
222
|
-
<PlusIcon />
|
223
|
-
</button>
|
224
|
-
</>
|
225
|
-
)}
|
226
90
|
<div className="query-builder__fetch__structure__modes">
|
227
|
-
{Object.values(
|
91
|
+
{Object.values(FETCH_STRUCTURE_IMPLEMENTATION).map((type) => (
|
228
92
|
<button
|
229
|
-
onClick={
|
93
|
+
onClick={onChangeFetchStructureImplementation(type)}
|
230
94
|
className={clsx('query-builder__fetch__structure__mode', {
|
231
95
|
'query-builder__fetch__structure__mode--selected':
|
232
|
-
|
96
|
+
type === fetchStructureState.implementation.type,
|
233
97
|
})}
|
234
|
-
key={
|
98
|
+
key={type}
|
235
99
|
>
|
236
|
-
{prettyCONSTName(
|
100
|
+
{prettyCONSTName(type)}
|
237
101
|
</button>
|
238
102
|
))}
|
239
103
|
</div>
|
240
104
|
</div>
|
241
105
|
</div>
|
242
|
-
|
106
|
+
<QueryBuilderFetchStructureEditor
|
107
|
+
queryBuilderState={queryBuilderState}
|
108
|
+
/>
|
243
109
|
</div>
|
244
110
|
);
|
245
111
|
},
|
@@ -30,7 +30,6 @@ import {
|
|
30
30
|
InfoCircleIcon,
|
31
31
|
PanelDropZone,
|
32
32
|
} from '@finos/legend-art';
|
33
|
-
import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
|
34
33
|
import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
|
35
34
|
import { isNonNullable } from '@finos/legend-shared';
|
36
35
|
import {
|
@@ -168,7 +167,7 @@ export const QueryBuilderGraphFetchTreeExplorer = observer(
|
|
168
167
|
|
169
168
|
return (
|
170
169
|
<div className="query-builder-graph-fetch-tree">
|
171
|
-
<div className="query-builder-graph-fetch-
|
170
|
+
<div className="query-builder-graph-fetch-tree__toolbar">
|
172
171
|
<div
|
173
172
|
className={clsx('panel__content__form__section__toggler')}
|
174
173
|
onClick={toggleChecked}
|
@@ -184,7 +183,7 @@ export const QueryBuilderGraphFetchTreeExplorer = observer(
|
|
184
183
|
<div className="panel__content__form__section__toggler__prompt">
|
185
184
|
Check graph fetch
|
186
185
|
</div>
|
187
|
-
<div className="query-builder-graph-fetch-
|
186
|
+
<div className="query-builder-graph-fetch-tree__toolbar__hint-icon">
|
188
187
|
<InfoCircleIcon title="With this enabled, while executing, violations of constraints will reported as part of the result, rather than causing a failure" />
|
189
188
|
</div>
|
190
189
|
</div>
|
@@ -209,23 +208,21 @@ export const QueryBuilderGraphFetchTreeExplorer = observer(
|
|
209
208
|
);
|
210
209
|
|
211
210
|
export const QueryBuilderGraphFetchTreePanel = observer(
|
212
|
-
(props: {
|
213
|
-
const {
|
214
|
-
const
|
215
|
-
const graphFetchState = fetchStructureState.graphFetchTreeState;
|
216
|
-
const treeData = graphFetchState.treeData;
|
211
|
+
(props: { graphFetchTreeState: QueryBuilderGraphFetchTreeState }) => {
|
212
|
+
const { graphFetchTreeState } = props;
|
213
|
+
const treeData = graphFetchTreeState.treeData;
|
217
214
|
|
218
215
|
// Deep/Graph Fetch Tree
|
219
216
|
const updateTreeData = (data: QueryBuilderGraphFetchTreeData): void => {
|
220
|
-
|
217
|
+
graphFetchTreeState.setGraphFetchTree(data);
|
221
218
|
};
|
222
219
|
|
223
220
|
// Drag and Drop
|
224
221
|
const handleDrop = useCallback(
|
225
222
|
(item: QueryBuilderExplorerTreeDragSource): void => {
|
226
|
-
|
223
|
+
graphFetchTreeState.addProperty(item.node, { refreshTreeData: true });
|
227
224
|
},
|
228
|
-
[
|
225
|
+
[graphFetchTreeState],
|
229
226
|
);
|
230
227
|
const [{ isDragOver }, dropTargetConnector] = useDrop<
|
231
228
|
QueryBuilderExplorerTreeDragSource,
|
@@ -266,7 +263,7 @@ export const QueryBuilderGraphFetchTreePanel = observer(
|
|
266
263
|
)}
|
267
264
|
{treeData && !isGraphFetchTreeDataEmpty(treeData) && (
|
268
265
|
<QueryBuilderGraphFetchTreeExplorer
|
269
|
-
graphFetchState={
|
266
|
+
graphFetchState={graphFetchTreeState}
|
270
267
|
treeData={treeData}
|
271
268
|
isReadOnly={false}
|
272
269
|
updateTreeData={updateTreeData}
|
@@ -51,6 +51,7 @@ import {
|
|
51
51
|
DragPreviewLayer,
|
52
52
|
PanelEntryDropZonePlaceholder,
|
53
53
|
useDragPreviewLayer,
|
54
|
+
BlankPanelContent,
|
54
55
|
} from '@finos/legend-art';
|
55
56
|
import {
|
56
57
|
type Type,
|
@@ -98,18 +99,18 @@ import {
|
|
98
99
|
import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
|
99
100
|
import { isTypeCompatibleForAssignment } from '../../stores/QueryBuilderValueSpecificationHelper.js';
|
100
101
|
import { QUERY_BUILDER_GROUP_OPERATION } from '../../stores/QueryBuilderGroupOperationHelper.js';
|
102
|
+
import { QueryBuilderProjectionState } from '../../stores/fetch-structure/projection/QueryBuilderProjectionState.js';
|
101
103
|
|
102
104
|
const QueryBuilderPostFilterConditionContextMenu = observer(
|
103
105
|
forwardRef<
|
104
106
|
HTMLDivElement,
|
105
107
|
{
|
106
|
-
|
108
|
+
projectionState: QueryBuilderProjectionState;
|
107
109
|
node: QueryBuilderPostFilterTreeNodeData;
|
108
110
|
}
|
109
111
|
>(function QueryBuilderPostFilterConditionContextMenu(props, ref) {
|
110
|
-
const {
|
111
|
-
const postFilterState =
|
112
|
-
queryBuilderState.fetchStructureState.projectionState.postFilterState;
|
112
|
+
const { projectionState, node } = props;
|
113
|
+
const postFilterState = projectionState.postFilterState;
|
113
114
|
const removeNode = (): void =>
|
114
115
|
postFilterState.removeNodeAndPruneBranch(node);
|
115
116
|
const createCondition = (): void => {
|
@@ -549,18 +550,17 @@ const QueryBuilderPostFilterTreeNodeContainer = observer(
|
|
549
550
|
props: TreeNodeContainerProps<
|
550
551
|
QueryBuilderPostFilterTreeNodeData,
|
551
552
|
{
|
552
|
-
|
553
|
+
projectionState: QueryBuilderProjectionState;
|
553
554
|
}
|
554
555
|
>,
|
555
556
|
) => {
|
556
557
|
const { node, level, stepPaddingInRem, onNodeSelect, innerProps } = props;
|
557
|
-
const {
|
558
|
+
const { projectionState: projectionState } = innerProps;
|
558
559
|
const ref = useRef<HTMLDivElement>(null);
|
559
560
|
const [isSelectedFromContextMenu, setIsSelectedFromContextMenu] =
|
560
561
|
useState(false);
|
561
562
|
const applicationStore = useApplicationStore();
|
562
|
-
const postFilterState =
|
563
|
-
queryBuilderState.fetchStructureState.projectionState.postFilterState;
|
563
|
+
const postFilterState = projectionState.postFilterState;
|
564
564
|
const isExpandable =
|
565
565
|
node instanceof QueryBuilderPostFilterTreeGroupNodeData;
|
566
566
|
const selectNode = (): void => onNodeSelect?.(node);
|
@@ -671,7 +671,7 @@ const QueryBuilderPostFilterTreeNodeContainer = observer(
|
|
671
671
|
<ContextMenu
|
672
672
|
content={
|
673
673
|
<QueryBuilderPostFilterConditionContextMenu
|
674
|
-
|
674
|
+
projectionState={projectionState}
|
675
675
|
node={node}
|
676
676
|
/>
|
677
677
|
}
|
@@ -760,7 +760,7 @@ const QueryBuilderPostFilterTreeNodeView = observer(
|
|
760
760
|
props: TreeNodeViewProps<
|
761
761
|
QueryBuilderPostFilterTreeNodeData,
|
762
762
|
{
|
763
|
-
|
763
|
+
projectionState: QueryBuilderProjectionState;
|
764
764
|
}
|
765
765
|
>,
|
766
766
|
) => {
|
@@ -798,10 +798,9 @@ const QueryBuilderPostFilterTreeNodeView = observer(
|
|
798
798
|
);
|
799
799
|
|
800
800
|
const QueryBuilderPostFilterTree = observer(
|
801
|
-
(props: {
|
802
|
-
const {
|
803
|
-
const postFilterState =
|
804
|
-
queryBuilderState.fetchStructureState.projectionState.postFilterState;
|
801
|
+
(props: { projectionState: QueryBuilderProjectionState }) => {
|
802
|
+
const { projectionState } = props;
|
803
|
+
const postFilterState = projectionState.postFilterState;
|
805
804
|
const rootNodes = postFilterState.rootIds.map((rootId) =>
|
806
805
|
postFilterState.getNode(rootId),
|
807
806
|
);
|
@@ -827,7 +826,7 @@ const QueryBuilderPostFilterTree = observer(
|
|
827
826
|
getChildNodes={getChildNodes}
|
828
827
|
onNodeSelect={onNodeSelect}
|
829
828
|
innerProps={{
|
830
|
-
|
829
|
+
projectionState: projectionState,
|
831
830
|
}}
|
832
831
|
/>
|
833
832
|
))}
|
@@ -837,12 +836,11 @@ const QueryBuilderPostFilterTree = observer(
|
|
837
836
|
},
|
838
837
|
);
|
839
838
|
|
840
|
-
|
841
|
-
(props: {
|
842
|
-
const {
|
839
|
+
const QueryBuilderPostFilterPanelContent = observer(
|
840
|
+
(props: { projectionState: QueryBuilderProjectionState }) => {
|
841
|
+
const { projectionState } = props;
|
843
842
|
const applicationStore = useApplicationStore();
|
844
|
-
const postFilterState =
|
845
|
-
queryBuilderState.fetchStructureState.projectionState.postFilterState;
|
843
|
+
const postFilterState = projectionState.postFilterState;
|
846
844
|
const rootNode = postFilterState.getRootNode();
|
847
845
|
// actions
|
848
846
|
const collapseTree = (): void => {
|
@@ -902,7 +900,7 @@ export const QueryBuilderPostFilterPanel = observer(
|
|
902
900
|
const columnState = (item as QueryBuilderProjectionColumnDragSource)
|
903
901
|
.columnState;
|
904
902
|
const aggregateColumnState =
|
905
|
-
|
903
|
+
projectionState.aggregationState.columns.find(
|
906
904
|
(column) => column.projectionColumnState === columnState,
|
907
905
|
);
|
908
906
|
if (
|
@@ -940,8 +938,7 @@ export const QueryBuilderPostFilterPanel = observer(
|
|
940
938
|
[
|
941
939
|
applicationStore,
|
942
940
|
postFilterState,
|
943
|
-
|
944
|
-
.columns,
|
941
|
+
projectionState.aggregationState.columns,
|
945
942
|
],
|
946
943
|
);
|
947
944
|
const [{ isDragOver }, dropTargetConnector] = useDrop<
|
@@ -962,10 +959,11 @@ export const QueryBuilderPostFilterPanel = observer(
|
|
962
959
|
}),
|
963
960
|
[applicationStore, handleDrop],
|
964
961
|
);
|
962
|
+
|
965
963
|
return (
|
966
964
|
<div
|
967
965
|
data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_POST_FILTER}
|
968
|
-
className="panel
|
966
|
+
className="panel"
|
969
967
|
>
|
970
968
|
<div className="panel__header">
|
971
969
|
<div className="panel__header__title">
|
@@ -1037,7 +1035,7 @@ export const QueryBuilderPostFilterPanel = observer(
|
|
1037
1035
|
</button>
|
1038
1036
|
</div>
|
1039
1037
|
</div>
|
1040
|
-
<div className="panel__content
|
1038
|
+
<div className="panel__content">
|
1041
1039
|
<PanelDropZone
|
1042
1040
|
isDragOver={isDragOver}
|
1043
1041
|
dropTargetConnector={dropTargetConnector}
|
@@ -1056,9 +1054,7 @@ export const QueryBuilderPostFilterPanel = observer(
|
|
1056
1054
|
): string => item.node.dragPreviewLabel}
|
1057
1055
|
types={Object.values(QUERY_BUILDER_POST_FILTER_DND_TYPE)}
|
1058
1056
|
/>
|
1059
|
-
<QueryBuilderPostFilterTree
|
1060
|
-
queryBuilderState={queryBuilderState}
|
1061
|
-
/>
|
1057
|
+
<QueryBuilderPostFilterTree projectionState={projectionState} />
|
1062
1058
|
</>
|
1063
1059
|
)}
|
1064
1060
|
</PanelDropZone>
|
@@ -1067,3 +1063,41 @@ export const QueryBuilderPostFilterPanel = observer(
|
|
1067
1063
|
);
|
1068
1064
|
},
|
1069
1065
|
);
|
1066
|
+
|
1067
|
+
export const QueryBuilderPostFilterPanel = observer(
|
1068
|
+
(props: { queryBuilderState: QueryBuilderState }) => {
|
1069
|
+
const { queryBuilderState } = props;
|
1070
|
+
const fetchStructureImplementation =
|
1071
|
+
queryBuilderState.fetchStructureState.implementation;
|
1072
|
+
|
1073
|
+
return (
|
1074
|
+
<div
|
1075
|
+
data-testid={QUERY_BUILDER_TEST_ID.QUERY_BUILDER_POST_FILTER}
|
1076
|
+
className="panel"
|
1077
|
+
>
|
1078
|
+
{fetchStructureImplementation instanceof
|
1079
|
+
QueryBuilderProjectionState && (
|
1080
|
+
<QueryBuilderPostFilterPanelContent
|
1081
|
+
projectionState={fetchStructureImplementation}
|
1082
|
+
/>
|
1083
|
+
)}
|
1084
|
+
{!(
|
1085
|
+
fetchStructureImplementation instanceof QueryBuilderProjectionState
|
1086
|
+
) && (
|
1087
|
+
<>
|
1088
|
+
<div className="panel__header">
|
1089
|
+
<div className="panel__header__title">
|
1090
|
+
<div className="panel__header__title__label">post-filter</div>
|
1091
|
+
</div>
|
1092
|
+
</div>
|
1093
|
+
<div className="panel__content">
|
1094
|
+
<BlankPanelContent>
|
1095
|
+
Post-filter is not supported for the current fetch-structure
|
1096
|
+
</BlankPanelContent>
|
1097
|
+
</div>
|
1098
|
+
</>
|
1099
|
+
)}
|
1100
|
+
</div>
|
1101
|
+
);
|
1102
|
+
},
|
1103
|
+
);
|