@finos/legend-application-query 5.1.0 → 5.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/application/LegendQueryApplicationConfig.d.ts +17 -1
- package/lib/application/LegendQueryApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendQueryApplicationConfig.js +23 -1
- package/lib/application/LegendQueryApplicationConfig.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +3 -1
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderExplorerPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderExplorerPanel.js +7 -34
- package/lib/components/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/QueryBuilderFetchStructurePanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderFetchStructurePanel.js +77 -66
- package/lib/components/QueryBuilderFetchStructurePanel.js.map +1 -1
- package/lib/components/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderFilterPanel.js +28 -58
- package/lib/components/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js +9 -39
- package/lib/components/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
- package/lib/components/QueryBuilderGraphFetchTreePanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderGraphFetchTreePanel.js +5 -5
- package/lib/components/QueryBuilderGraphFetchTreePanel.js.map +1 -1
- package/lib/components/QueryBuilderLambdaEditor.d.ts +1 -0
- package/lib/components/QueryBuilderLambdaEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderLambdaEditor.js +2 -2
- package/lib/components/QueryBuilderLambdaEditor.js.map +1 -1
- package/lib/components/QueryBuilderMilestoneEditor.js +5 -5
- package/lib/components/QueryBuilderMilestoneEditor.js.map +1 -1
- package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts +20 -0
- package/lib/components/QueryBuilderPanelIssueCountBadge.d.ts.map +1 -0
- package/lib/components/QueryBuilderPanelIssueCountBadge.js +28 -0
- package/lib/components/QueryBuilderPanelIssueCountBadge.js.map +1 -0
- package/lib/components/QueryBuilderParameterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParameterPanel.js +13 -34
- package/lib/components/QueryBuilderParameterPanel.js.map +1 -1
- package/lib/components/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderPostFilterPanel.js +33 -58
- package/lib/components/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/QueryBuilderProjectionPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderProjectionPanel.js +47 -67
- package/lib/components/QueryBuilderProjectionPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -11
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderPropertySearchPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertySearchPanel.js +3 -6
- package/lib/components/QueryBuilderPropertySearchPanel.js.map +1 -1
- package/lib/components/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultModifierPanel.js +3 -1
- package/lib/components/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +28 -20
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderSetupPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderSetupPanel.js +10 -11
- package/lib/components/QueryBuilderSetupPanel.js.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js +4 -2
- package/lib/components/QueryBuilderUnsupportedQueryEditor.js.map +1 -1
- package/lib/components/QueryEditor.d.ts.map +1 -1
- package/lib/components/QueryEditor.js +16 -4
- package/lib/components/QueryEditor.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +10 -9
- package/lib/stores/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderExplorerState.js +5 -0
- package/lib/stores/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/QueryBuilderFetchStructureState.d.ts +6 -0
- package/lib/stores/QueryBuilderFetchStructureState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderFetchStructureState.js +8 -0
- package/lib/stores/QueryBuilderFetchStructureState.js.map +1 -1
- package/lib/stores/QueryBuilderFilterState.d.ts +4 -9
- package/lib/stores/QueryBuilderFilterState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderFilterState.js +6 -11
- package/lib/stores/QueryBuilderFilterState.js.map +1 -1
- package/lib/stores/QueryBuilderGraphFetchTreeState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderGraphFetchTreeState.js +6 -3
- package/lib/stores/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/QueryBuilderLambdaProcessor.d.ts.map +1 -1
- package/lib/stores/QueryBuilderLambdaProcessor.js +2 -0
- package/lib/stores/QueryBuilderLambdaProcessor.js.map +1 -1
- package/lib/stores/QueryBuilderPostFilterState.d.ts +4 -4
- package/lib/stores/QueryBuilderPostFilterState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPostFilterState.js +6 -6
- package/lib/stores/QueryBuilderPostFilterState.js.map +1 -1
- package/lib/stores/QueryBuilderProjectionState.d.ts +2 -7
- package/lib/stores/QueryBuilderProjectionState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderProjectionState.js +5 -17
- package/lib/stores/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/QueryBuilderSetupState.js +1 -1
- package/lib/stores/QueryBuilderSetupState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +6 -1
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +9 -2
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +7 -7
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/stores/QueryEditorStore.d.ts.map +1 -1
- package/lib/stores/QueryEditorStore.js +14 -3
- package/lib/stores/QueryEditorStore.js.map +1 -1
- package/lib/stores/QueryFunctionsExplorerState.d.ts +2 -6
- package/lib/stores/QueryFunctionsExplorerState.d.ts.map +1 -1
- package/lib/stores/QueryFunctionsExplorerState.js +2 -11
- package/lib/stores/QueryFunctionsExplorerState.js.map +1 -1
- package/lib/stores/QueryParametersState.d.ts +1 -3
- package/lib/stores/QueryParametersState.d.ts.map +1 -1
- package/lib/stores/QueryParametersState.js +1 -4
- package/lib/stores/QueryParametersState.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_Equal.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js +4 -1
- package/lib/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js +4 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js +4 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js +4 -1
- package/lib/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/package.json +17 -16
- package/src/application/LegendQueryApplicationConfig.ts +35 -1
- package/src/components/QueryBuilder.tsx +13 -2
- package/src/components/QueryBuilderExplorerPanel.tsx +17 -56
- package/src/components/QueryBuilderFetchStructurePanel.tsx +93 -80
- package/src/components/QueryBuilderFilterPanel.tsx +184 -225
- package/src/components/QueryBuilderFunctionsExplorerPanel.tsx +23 -68
- package/src/components/QueryBuilderGraphFetchTreePanel.tsx +34 -25
- package/src/components/QueryBuilderLambdaEditor.tsx +3 -0
- package/src/components/QueryBuilderMilestoneEditor.tsx +34 -34
- package/src/components/QueryBuilderPanelIssueCountBadge.tsx +38 -0
- package/src/components/QueryBuilderParameterPanel.tsx +21 -54
- package/src/components/QueryBuilderPostFilterPanel.tsx +202 -236
- package/src/components/QueryBuilderProjectionPanel.tsx +126 -170
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +61 -57
- package/src/components/QueryBuilderPropertySearchPanel.tsx +8 -9
- package/src/components/QueryBuilderResultModifierPanel.tsx +4 -2
- package/src/components/QueryBuilderResultPanel.tsx +71 -52
- package/src/components/QueryBuilderSetupPanel.tsx +10 -11
- package/src/components/QueryBuilderUnsupportedQueryEditor.tsx +4 -2
- package/src/components/QueryEditor.tsx +39 -1
- package/src/stores/QueryBuilderExplorerState.ts +5 -0
- package/src/stores/QueryBuilderFetchStructureState.ts +9 -0
- package/src/stores/QueryBuilderFilterState.ts +7 -12
- package/src/stores/QueryBuilderGraphFetchTreeState.ts +14 -8
- package/src/stores/QueryBuilderLambdaProcessor.ts +8 -0
- package/src/stores/QueryBuilderPostFilterState.ts +7 -7
- package/src/stores/QueryBuilderProjectionState.ts +7 -18
- package/src/stores/QueryBuilderSetupState.ts +1 -1
- package/src/stores/QueryBuilderState.ts +10 -2
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +9 -7
- package/src/stores/QueryEditorStore.ts +19 -3
- package/src/stores/QueryFunctionsExplorerState.ts +1 -11
- package/src/stores/QueryParametersState.ts +1 -3
- package/src/stores/filterOperators/QueryBuilderFilterOperator_Equal.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThan.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_GreaterThanEqual.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThan.ts +8 -1
- package/src/stores/filterOperators/QueryBuilderFilterOperator_LessThanEqual.ts +8 -1
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_Equal.ts +8 -1
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_GreaterThan.ts +8 -1
- package/src/stores/postFilterOperators/QueryBuilderPostFilterOperator_LessThan.ts +8 -1
- package/tsconfig.json +1 -0
@@ -15,13 +15,13 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
15
15
|
* limitations under the License.
|
16
16
|
*/
|
17
17
|
import { observer } from 'mobx-react-lite';
|
18
|
-
import {
|
18
|
+
import { QUERY_BUILDER_PARAMETER_DND_TYPE, } from '../stores/QueryParametersState.js';
|
19
19
|
import { useCallback } from 'react';
|
20
20
|
import { GenericType, GenericTypeExplicitReference, MILESTONING_STEREOTYPE, observe_PrimitiveInstanceValue, PrimitiveInstanceValue, PRIMITIVE_TYPE, TYPICAL_MULTIPLICITY_TYPE, } from '@finos/legend-graph';
|
21
21
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
22
22
|
import { useDrop } from 'react-dnd';
|
23
23
|
import { VariableExpressionViewer } from './QueryBuilderParameterPanel.js';
|
24
|
-
import { Dialog } from '@finos/legend-art';
|
24
|
+
import { Dialog, PanelEntryDropZonePlaceholder } from '@finos/legend-art';
|
25
25
|
import { generateDefaultValueForPrimitiveType } from '../stores/QueryBuilderValueSpecificationBuilderHelper.js';
|
26
26
|
import { BasicValueSpecificationEditor } from '@finos/legend-application';
|
27
27
|
const MilestoningParameterEditor = observer((props) => {
|
@@ -35,7 +35,7 @@ const MilestoningParameterEditor = observer((props) => {
|
|
35
35
|
}
|
36
36
|
}, [queryBuilderState, stereotype]);
|
37
37
|
const [{ isMilestoningParameterValueDragOver }, dropConnector] = useDrop(() => ({
|
38
|
-
accept: [
|
38
|
+
accept: [QUERY_BUILDER_PARAMETER_DND_TYPE],
|
39
39
|
drop: (item, monitor) => {
|
40
40
|
if (!monitor.didDrop()) {
|
41
41
|
handleDrop(item);
|
@@ -66,11 +66,11 @@ const MilestoningParameterEditor = observer((props) => {
|
|
66
66
|
queryBuilderState.querySetupState.setProcessingDate(parameter);
|
67
67
|
}
|
68
68
|
};
|
69
|
-
return (
|
69
|
+
return (_jsx("div", { ref: dropConnector, className: "query-builder__parameter-editor", children: _jsx(PanelEntryDropZonePlaceholder, { showPlaceholder: isMilestoningParameterValueDragOver, label: "Change Milestoning Parameter Value", className: "query-builder__dnd__placeholder", children: _jsx(BasicValueSpecificationEditor, { valueSpecification: milestoningParameter, graph: queryBuilderState.graphManagerState.graph, setValueSpecification: (val) => stereotype === MILESTONING_STEREOTYPE.BUSINESS_TEMPORAL
|
70
70
|
? queryBuilderState.querySetupState.setBusinessDate(val)
|
71
71
|
: queryBuilderState.querySetupState.setProcessingDate(val), typeCheckOption: {
|
72
72
|
expectedType: queryBuilderState.graphManagerState.graph.getPrimitiveType(PRIMITIVE_TYPE.DATE),
|
73
|
-
}, resetValue: resetMilestoningParameter })
|
73
|
+
}, resetValue: resetMilestoningParameter }) }) }));
|
74
74
|
});
|
75
75
|
const BiTemporalMilestoneEditor = observer((props) => {
|
76
76
|
const { queryBuilderState } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderMilestoneEditor.js","sourceRoot":"","sources":["../../src/components/QueryBuilderMilestoneEditor.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAEL,
|
1
|
+
{"version":3,"file":"QueryBuilderMilestoneEditor.js","sourceRoot":"","sources":["../../src/components/QueryBuilderMilestoneEditor.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,20 @@
|
|
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
|
+
/// <reference types="react" resolution-mode="require"/>
|
17
|
+
export declare const QueryBuilderPanelIssueCountBadge: React.FC<{
|
18
|
+
issues: string[] | undefined;
|
19
|
+
}>;
|
20
|
+
//# sourceMappingURL=QueryBuilderPanelIssueCountBadge.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"QueryBuilderPanelIssueCountBadge.d.ts","sourceRoot":"","sources":["../../src/components/QueryBuilderPanelIssueCountBadge.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAIH,eAAO,MAAM,gCAAgC,EAAE,KAAK,CAAC,EAAE,CAAC;IACtD,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC;CAC9B,CAiBA,CAAC"}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } 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 { TimesCircleIcon } from '@finos/legend-art';
|
18
|
+
export const QueryBuilderPanelIssueCountBadge = (props) => {
|
19
|
+
const { issues } = props;
|
20
|
+
if (!issues) {
|
21
|
+
return null;
|
22
|
+
}
|
23
|
+
const labelText = `${issues.length} issue${issues.length > 1 ? 's' : ''}`;
|
24
|
+
return (_jsxs("div", { className: "query-builder-panel-issue-count-badge", title: `Found ${labelText}:\n${issues
|
25
|
+
.map((issue) => `\u2022 ${issue}`)
|
26
|
+
.join('\n')}`, children: [_jsx(TimesCircleIcon, { className: "query-builder-panel-issue-count-badge__icon" }), labelText] }));
|
27
|
+
};
|
28
|
+
//# sourceMappingURL=QueryBuilderPanelIssueCountBadge.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"QueryBuilderPanelIssueCountBadge.js","sourceRoot":"","sources":["../../src/components/QueryBuilderPanelIssueCountBadge.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,CAAC,MAAM,gCAAgC,GAExC,CAAC,KAAK,EAAE,EAAE;IACb,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,CAAC,MAAM,EAAE;QACX,OAAO,IAAI,CAAC;KACb;IACD,MAAM,SAAS,GAAG,GAAG,MAAM,CAAC,MAAM,SAAS,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,OAAO,CACL,eACE,SAAS,EAAC,uCAAuC,EACjD,KAAK,EAAE,SAAS,SAAS,MAAM,MAAM;aAClC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,UAAU,KAAK,EAAE,CAAC;aACjC,IAAI,CAAC,IAAI,CAAC,EAAE,aAEf,KAAC,eAAe,IAAC,SAAS,EAAC,6CAA6C,GAAG,EAC1E,SAAS,IACN,CACP,CAAC;AACJ,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderParameterPanel.d.ts","sourceRoot":"","sources":["../../src/components/QueryBuilderParameterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;
|
1
|
+
{"version":3,"file":"QueryBuilderParameterPanel.d.ts","sourceRoot":"","sources":["../../src/components/QueryBuilderParameterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAIH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA0BxE,OAAO,EAIL,oBAAoB,EAIrB,MAAM,2BAA2B,CAAC;AAoMnC,eAAO,MAAM,wBAAwB,WAC3B;IACN,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,uBAAuB,EAAE,oBAAoB,CAAC;CAC/C;;CAkEF,CAAC;AAEF,eAAO,MAAM,0BAA0B,WAC7B;IAAE,iBAAiB,EAAE,iBAAiB,CAAA;CAAE;;CAgFjD,CAAC"}
|
@@ -14,19 +14,19 @@ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
14
14
|
* See the License for the specific language governing permissions and
|
15
15
|
* limitations under the License.
|
16
16
|
*/
|
17
|
+
import { useState } from 'react';
|
17
18
|
import { observer } from 'mobx-react-lite';
|
18
|
-
import { Dialog, BlankPanelContent, CustomSelectorInput, PencilIcon, TimesIcon, DollarIcon, PlusIcon, InputWithInlineValidation, } from '@finos/legend-art';
|
19
|
-
import {
|
20
|
-
import { useEffect, useState } from 'react';
|
19
|
+
import { Dialog, BlankPanelContent, CustomSelectorInput, PencilIcon, TimesIcon, DollarIcon, PlusIcon, InputWithInlineValidation, DragPreviewLayer, useDragPreviewLayer, } from '@finos/legend-art';
|
20
|
+
import { QUERY_BUILDER_PARAMETER_DND_TYPE, } from '../stores/QueryParametersState.js';
|
21
21
|
import { MULTIPLICITY_INFINITE, PRIMITIVE_TYPE, VariableExpression, Multiplicity, GenericTypeExplicitReference, GenericType, } from '@finos/legend-graph';
|
22
|
-
import { buildElementOption, variableExpression_setName, LambdaParameterState, LambdaParameterValuesEditor, getPackageableElementOptionFormatter, } from '@finos/legend-application';
|
23
|
-
import { useDrag
|
24
|
-
import { getEmptyImage } from 'react-dnd-html5-backend';
|
22
|
+
import { buildElementOption, variableExpression_setName, LambdaParameterState, LambdaParameterValuesEditor, getPackageableElementOptionFormatter, useApplicationStore, } from '@finos/legend-application';
|
23
|
+
import { useDrag } from 'react-dnd';
|
25
24
|
import { generateEnumerableNameFromToken } from '@finos/legend-shared';
|
26
25
|
import { DEFAULT_VARIABLE_NAME } from '../QueryBuilder_Const.js';
|
27
26
|
const VariableExpressionEditor = observer((props) => {
|
28
27
|
// main state
|
29
28
|
const { queryBuilderState, lambdaParameterState } = props;
|
29
|
+
const applicationStore = useApplicationStore();
|
30
30
|
const queryParametersState = queryBuilderState.queryParametersState;
|
31
31
|
const isCreating = !queryParametersState.parameterStates.includes(lambdaParameterState);
|
32
32
|
const varState = lambdaParameterState.parameter;
|
@@ -86,30 +86,10 @@ const VariableExpressionEditor = observer((props) => {
|
|
86
86
|
root: 'editor-modal__root-container',
|
87
87
|
container: 'editor-modal__container',
|
88
88
|
paper: 'editor-modal__content',
|
89
|
-
}, children: _jsxs("div", { className: "modal modal--dark editor-modal query-builder__parameters__modal", children: [_jsx("div", { className: "modal__header", children: _jsxs("div", { className: "modal__title", children: [`${isCreating ? 'Create ' : 'Update '}`, "Parameter"] }) }), _jsxs("div", { className: "modal__body query-builder__parameters__modal__body", children: [_jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Parameter Name" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Name of the parameter. Should be descriptive of its purpose." }), _jsx("div", { className: "query-builder__parameters__parameter__name", children: _jsx(InputWithInlineValidation, { className: "query-builder__parameters__parameter__name__input input-group__input", spellCheck: false, value: varState.name, onChange: changeVariableName, placeholder: `Parameter name`, validationErrorMessage: validationMessage }) })] }), _jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Type" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Data type of the parameter." }), _jsx(CustomSelectorInput, { placeholder: "Choose a type...", options: typeOptions, onChange: changeType, value: selectedType, darkMode:
|
90
|
-
darkMode:
|
91
|
-
graphManagerState: queryBuilderState.graphManagerState,
|
89
|
+
}, children: _jsxs("div", { className: "modal modal--dark editor-modal query-builder__parameters__modal", children: [_jsx("div", { className: "modal__header", children: _jsxs("div", { className: "modal__title", children: [`${isCreating ? 'Create ' : 'Update '}`, "Parameter"] }) }), _jsxs("div", { className: "modal__body query-builder__parameters__modal__body", children: [_jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Parameter Name" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Name of the parameter. Should be descriptive of its purpose." }), _jsx("div", { className: "query-builder__parameters__parameter__name", children: _jsx(InputWithInlineValidation, { className: "query-builder__parameters__parameter__name__input input-group__input", spellCheck: false, value: varState.name, onChange: changeVariableName, placeholder: `Parameter name`, validationErrorMessage: validationMessage }) })] }), _jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Type" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "Data type of the parameter." }), _jsx(CustomSelectorInput, { placeholder: "Choose a type...", options: typeOptions, onChange: changeType, value: selectedType, darkMode: !applicationStore.TEMPORARY__isLightThemeEnabled, formatOptionLabel: getPackageableElementOptionFormatter({
|
90
|
+
darkMode: !applicationStore.TEMPORARY__isLightThemeEnabled,
|
92
91
|
}) })] }), _jsxs("div", { className: "panel__content__form__section", children: [_jsx("div", { className: "panel__content__form__section__header__label", children: "Multiplicity" }), _jsx("div", { className: "panel__content__form__section__header__prompt", children: "The multiplity determines how many values a parameter can have. Default is set to mandatory single vlue." }), _jsx("input", { className: "panel__content__form__section__input panel__content__form__section__number-input", type: "number", spellCheck: false, value: multiplity.lowerBound, onChange: changeLowerBound }), "..", _jsx("input", { className: "panel__content__form__section__input panel__content__form__section__number-input", spellCheck: false, value: upperBound, onChange: changeUpperBound })] })] }), _jsxs("div", { className: "modal__footer", children: [isCreating && (_jsx("button", { className: "btn modal__footer__close-btn btn--dark", onClick: onAction, disabled: Boolean(validationMessage), children: "Create" })), _jsx("button", { className: "btn modal__footer__close-btn", onClick: close, children: "Close" })] })] }) }));
|
93
92
|
});
|
94
|
-
const QueryBuilderParameterDragLayer = observer((props) => {
|
95
|
-
const { itemType, item, isDragging, currentPosition } = useDragLayer((monitor) => ({
|
96
|
-
itemType: monitor.getItemType(),
|
97
|
-
item: monitor.getItem(),
|
98
|
-
isDragging: monitor.isDragging(),
|
99
|
-
initialOffset: monitor.getInitialSourceClientOffset(),
|
100
|
-
currentPosition: monitor.getClientOffset(),
|
101
|
-
}));
|
102
|
-
if (!isDragging ||
|
103
|
-
!item ||
|
104
|
-
!Object.values(QUERY_BUILDER_PARAMETER_TREE_DND_TYPE).includes(itemType)) {
|
105
|
-
return null;
|
106
|
-
}
|
107
|
-
return (_jsx("div", { className: "query-builder__parameters__drag-preview-layer", children: _jsx("div", { className: "query-builder__parameters__drag-preview", style: !currentPosition
|
108
|
-
? { display: 'none' }
|
109
|
-
: {
|
110
|
-
transform: `translate(${currentPosition.x + 20}px, ${currentPosition.y + 10}px)`,
|
111
|
-
}, children: item.variable.variableName }) }));
|
112
|
-
});
|
113
93
|
export const VariableExpressionViewer = observer((props) => {
|
114
94
|
const { queryBuilderState, variableExpressionState } = props;
|
115
95
|
const queryParameterState = queryBuilderState.queryParametersState;
|
@@ -122,14 +102,13 @@ export const VariableExpressionViewer = observer((props) => {
|
|
122
102
|
};
|
123
103
|
const deleteVariable = () => queryParameterState.removeParameter(variableExpressionState);
|
124
104
|
const [, dragConnector, dragPreviewConnector] = useDrag(() => ({
|
125
|
-
type:
|
105
|
+
type: QUERY_BUILDER_PARAMETER_DND_TYPE,
|
126
106
|
item: { variable: variableExpressionState },
|
127
107
|
}), [variableExpressionState]);
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
return (_jsxs("div", { className: "query-builder__parameters__parameter", ref: dragConnector, children: [_jsx(QueryBuilderParameterDragLayer, { queryBuilderState: queryBuilderState }), _jsxs("div", { className: "query-builder__parameters__parameter__content", children: [_jsx("div", { className: "query-builder__parameters__parameter__icon", children: _jsx("div", { className: "query-builder__parameters__parameter-icon", children: _jsx(DollarIcon, {}) }) }), _jsxs("div", { className: "query-builder__parameters__parameter__label", children: [name, _jsx("div", { className: "query-builder__parameters__parameter__type", children: _jsx("div", { className: "query-builder__parameters__parameter__type__label", children: typeName }) })] })] }), _jsxs("div", { className: "query-builder__parameters__parameter__actions", children: [_jsx("button", { className: "query-builder__parameters__parameter__action", tabIndex: -1, onClick: editVariable, title: "Edit Parameter", children: _jsx(PencilIcon, {}) }), _jsx("button", { className: "query-builder__parameters__parameter__action", onClick: deleteVariable, title: "Remove", children: _jsx(TimesIcon, {}) })] })] }));
|
108
|
+
useDragPreviewLayer(dragPreviewConnector);
|
109
|
+
return (_jsxs("div", { className: "query-builder__parameters__parameter", ref: dragConnector, children: [_jsx(DragPreviewLayer, { labelGetter: (item) => item.variable.variableName === ''
|
110
|
+
? '(unknown)'
|
111
|
+
: item.variable.variableName, types: [QUERY_BUILDER_PARAMETER_DND_TYPE] }), _jsxs("div", { className: "query-builder__parameters__parameter__content", children: [_jsx("div", { className: "query-builder__parameters__parameter__icon", children: _jsx("div", { className: "query-builder__parameters__parameter-icon", children: _jsx(DollarIcon, {}) }) }), _jsxs("div", { className: "query-builder__parameters__parameter__label", children: [name, _jsx("div", { className: "query-builder__parameters__parameter__type", children: _jsx("div", { className: "query-builder__parameters__parameter__type__label", children: typeName }) })] })] }), _jsxs("div", { className: "query-builder__parameters__parameter__actions", children: [_jsx("button", { className: "query-builder__parameters__parameter__action", tabIndex: -1, onClick: editVariable, title: "Edit Parameter", children: _jsx(PencilIcon, {}) }), _jsx("button", { className: "query-builder__parameters__parameter__action", onClick: deleteVariable, title: "Remove", children: _jsx(TimesIcon, {}) })] })] }));
|
133
112
|
});
|
134
113
|
export const QueryBuilderParameterPanel = observer((props) => {
|
135
114
|
const { queryBuilderState } = props;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderParameterPanel.js","sourceRoot":"","sources":["../../src/components/QueryBuilderParameterPanel.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EACL,MAAM,EACN,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,QAAQ,EACR,yBAAyB,
|
1
|
+
{"version":3,"file":"QueryBuilderParameterPanel.js","sourceRoot":"","sources":["../../src/components/QueryBuilderParameterPanel.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"QueryBuilderPostFilterPanel.d.ts","sourceRoot":"","sources":["../../src/components/QueryBuilderPostFilterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;
|
1
|
+
{"version":3,"file":"QueryBuilderPostFilterPanel.d.ts","sourceRoot":"","sources":["../../src/components/QueryBuilderPostFilterPanel.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAkEH,OAAO,EAGL,wBAAwB,EAMzB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EACL,KAAK,iCAAiC,EAIvC,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AA6LxE,eAAO,MAAM,uBAAuB;8BAEN,wBAAwB;kCAEnC,iCAAiC,KAC3C,QAAQ,IAAI,CAAC;;;CAwErB,CAAC;AAgeF,eAAO,MAAM,2BAA2B,WAC9B;IAAE,iBAAiB,EAAE,iBAAiB,CAAA;CAAE;;CAqOjD,CAAC"}
|
@@ -15,42 +15,20 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
15
15
|
* limitations under the License.
|
16
16
|
*/
|
17
17
|
import { useApplicationStore, BasicValueSpecificationEditor, } from '@finos/legend-application';
|
18
|
-
import { BlankPanelPlaceholder, CaretDownIcon, ChevronDownIcon, ChevronRightIcon, ClickAwayListener, clsx, ContextMenu, DropdownMenu, FilledTriangleIcon, MenuContent, MenuContentItem, TimesIcon, PlusIcon, ExpandIcon, CompressIcon, CircleIcon, BrushIcon, NewFolderIcon, PlusCircleIcon, InfoCircleIcon, Tooltip, StringTypeIcon, ToggleIcon, HashtagIcon, ClockIcon, } from '@finos/legend-art';
|
18
|
+
import { BlankPanelPlaceholder, CaretDownIcon, ChevronDownIcon, ChevronRightIcon, ClickAwayListener, clsx, ContextMenu, DropdownMenu, FilledTriangleIcon, MenuContent, MenuContentItem, TimesIcon, PlusIcon, ExpandIcon, CompressIcon, CircleIcon, BrushIcon, NewFolderIcon, PlusCircleIcon, InfoCircleIcon, Tooltip, StringTypeIcon, ToggleIcon, HashtagIcon, ClockIcon, PanelDropZone, DragPreviewLayer, PanelEntryDropZonePlaceholder, useDragPreviewLayer, } from '@finos/legend-art';
|
19
19
|
import { Class, Enumeration, PrimitiveType, PRIMITIVE_TYPE, getMultiplicityDescription, } from '@finos/legend-graph';
|
20
20
|
import { assertErrorThrown, guaranteeNonNullable, returnUndefOnError, debounce, } from '@finos/legend-shared';
|
21
21
|
import { flowResult } from 'mobx';
|
22
22
|
import { observer } from 'mobx-react-lite';
|
23
|
-
import { forwardRef, useCallback,
|
24
|
-
import {
|
25
|
-
import { getEmptyImage } from 'react-dnd-html5-backend';
|
23
|
+
import { forwardRef, useCallback, useMemo, useRef, useState } from 'react';
|
24
|
+
import { useDrop, useDrag } from 'react-dnd';
|
26
25
|
import { getColumnMultiplicity } from '../stores/postFilterOperators/QueryBuilderPostFilterOperatorHelper.js';
|
27
26
|
import { QueryBuilderAggregateColumnState } from '../stores/QueryBuilderAggregationState.js';
|
28
27
|
import { isTypeCompatibleWithConditionValueType, QUERY_BUILDER_GROUP_OPERATION, } from '../stores/QueryBuilderOperatorsHelper.js';
|
29
28
|
import { PostFilterConditionState, QueryBuilderPostFilterTreeConditionNodeData, QueryBuilderPostFilterTreeGroupNodeData, QUERY_BUILDER_POST_FILTER_DND_TYPE, QueryBuilderPostFilterTreeBlankConditionNodeData, } from '../stores/QueryBuilderPostFilterState.js';
|
30
|
-
import {
|
31
|
-
import {
|
29
|
+
import { QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE, QueryBuilderDerivationProjectionColumnState, } from '../stores/QueryBuilderProjectionState.js';
|
30
|
+
import { QUERY_BUILDER_PARAMETER_DND_TYPE, } from '../stores/QueryParametersState.js';
|
32
31
|
import { QUERY_BUILDER_TEST_ID } from './QueryBuilder_TestID.js';
|
33
|
-
const PostFilterConditionDragLayer = () => {
|
34
|
-
const { itemType, item, isDragging, currentPosition } = useDragLayer((monitor) => ({
|
35
|
-
itemType: monitor.getItemType(),
|
36
|
-
item: monitor.getItem(),
|
37
|
-
isDragging: monitor.isDragging(),
|
38
|
-
initialOffset: monitor.getInitialSourceClientOffset(),
|
39
|
-
currentPosition: monitor.getClientOffset(),
|
40
|
-
}));
|
41
|
-
if (!isDragging ||
|
42
|
-
!item ||
|
43
|
-
!Object.values(QUERY_BUILDER_POST_FILTER_DND_TYPE).includes(itemType)) {
|
44
|
-
return null;
|
45
|
-
}
|
46
|
-
return (_jsx("div", { className: "query-builder-post-filter-tree__drag-preview-layer", children: _jsx("div", { className: "query-builder-post-filter-tree__drag-preview",
|
47
|
-
// added some offset so the mouse doesn't overlap the label too much
|
48
|
-
style: !currentPosition
|
49
|
-
? { display: 'none' }
|
50
|
-
: {
|
51
|
-
transform: `translate(${currentPosition.x + 20}px, ${currentPosition.y + 10}px)`,
|
52
|
-
}, children: item.node.dragLayerLabel }) }));
|
53
|
-
};
|
54
32
|
const QueryBuilderPostFilterConditionContextMenu = observer(forwardRef(function QueryBuilderPostFilterConditionContextMenu(props, ref) {
|
55
33
|
const { queryBuilderState, node } = props;
|
56
34
|
const postFilterState = queryBuilderState.postFilterState;
|
@@ -70,17 +48,17 @@ const QueryBuilderPostFilterConditionContextMenu = observer(forwardRef(function
|
|
70
48
|
return (_jsxs(MenuContent, { ref: ref, children: [node instanceof QueryBuilderPostFilterTreeGroupNodeData && (_jsx(MenuContentItem, { onClick: createCondition, children: "Add New Condition" })), node instanceof QueryBuilderPostFilterTreeGroupNodeData && (_jsx(MenuContentItem, { onClick: createGroupCondition, children: "Add New Logical Group" })), node instanceof QueryBuilderPostFilterTreeConditionNodeData && (_jsx(MenuContentItem, { onClick: newGroupWithCondition, children: "Form a New Logical Group" })), _jsx(MenuContentItem, { onClick: removeNode, children: "Remove" })] }));
|
71
49
|
}));
|
72
50
|
const QueryBuilderPostFilterGroupConditionEditor = observer((props) => {
|
73
|
-
const { node,
|
51
|
+
const { node, isDragOver } = props;
|
74
52
|
const switchOperation = (event) => {
|
75
53
|
event.stopPropagation(); // prevent triggering selecting the node
|
76
54
|
node.setGroupOperation(node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.AND
|
77
55
|
? QUERY_BUILDER_GROUP_OPERATION.OR
|
78
56
|
: QUERY_BUILDER_GROUP_OPERATION.AND);
|
79
57
|
};
|
80
|
-
return (
|
58
|
+
return (_jsx("div", { className: "query-builder-post-filter-tree__node__label__content", children: _jsx(PanelEntryDropZonePlaceholder, { showPlaceholder: isDragOver, label: "Add to Logical Group", className: "query-builder__dnd__placeholder", children: _jsxs("div", { className: clsx('query-builder-post-filter-tree__group-node', {
|
81
59
|
'query-builder-post-filter-tree__group-node--and': node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.AND,
|
82
60
|
'query-builder-post-filter-tree__group-node--or': node.groupOperation === QUERY_BUILDER_GROUP_OPERATION.OR,
|
83
|
-
}), title: "Switch Operation", onClick: switchOperation, children: [_jsx("div", { className: "query-builder-post-filter-tree__group-node__label", children: node.groupOperation }), _jsx("button", { className: "query-builder-post-filter-tree__group-node__action", children: _jsx(FilledTriangleIcon, {}) })] })
|
61
|
+
}), title: "Switch Operation", onClick: switchOperation, children: [_jsx("div", { className: "query-builder-post-filter-tree__group-node__label", children: node.groupOperation }), _jsx("button", { className: "query-builder-post-filter-tree__group-node__action", children: _jsx(FilledTriangleIcon, {}) })] }) }) }));
|
84
62
|
});
|
85
63
|
const renderPropertyTypeIcon = (type) => {
|
86
64
|
if (type instanceof PrimitiveType) {
|
@@ -126,26 +104,26 @@ export const QueryBuilderColumnBadge = observer((props) => {
|
|
126
104
|
const { postFilterConditionState, onColumnChange } = props;
|
127
105
|
const type = postFilterConditionState.columnState.getReturnType();
|
128
106
|
const handleDrop = useCallback((item) => onColumnChange(item.columnState), [onColumnChange]);
|
129
|
-
const [{
|
130
|
-
accept: [
|
107
|
+
const [{ isDragOver }, dropConnector] = useDrop(() => ({
|
108
|
+
accept: [QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE],
|
131
109
|
drop: (item, monitor) => {
|
132
110
|
if (!monitor.didDrop()) {
|
133
111
|
handleDrop(item).catch(postFilterConditionState.postFilterState.queryBuilderState
|
134
112
|
.applicationStore.alertUnhandledError);
|
135
|
-
}
|
113
|
+
} // prevent drop event propagation to accomondate for nested DnD
|
136
114
|
},
|
137
115
|
collect: (monitor) => ({
|
138
|
-
|
116
|
+
isDragOver: monitor.isOver({ shallow: true }),
|
139
117
|
}),
|
140
118
|
}), [handleDrop]);
|
141
|
-
return (
|
119
|
+
return (_jsx("div", { ref: dropConnector, className: "query-builder-column-badge", children: _jsx(PanelEntryDropZonePlaceholder, { showPlaceholder: isDragOver, label: "Change Property", className: "query-builder__dnd__placeholder", children: _jsxs("div", { className: "query-builder-column-badge__content", children: [type && (_jsx("div", { className: clsx('query-builder-column-badge__type', {
|
142
120
|
'query-builder-column-badge__type--class': type instanceof Class,
|
143
121
|
'query-builder-column-badge__type--enumeration': type instanceof Enumeration,
|
144
122
|
'query-builder-column-badge__type--primitive': type instanceof PrimitiveType,
|
145
|
-
}), children: renderPropertyTypeIcon(type) })), _jsx("div", { className: "query-builder-column-badge__property", title: `${postFilterConditionState.columnName}`, children: postFilterConditionState.columnName }), _jsx(QueryBuilderColumnInfoTooltip, { columnState: postFilterConditionState.columnState, placement: "bottom-end", children: _jsx("div", { className: "query-builder-column-badge__property__info", children: _jsx(InfoCircleIcon, {}) }) })] }))
|
123
|
+
}), children: renderPropertyTypeIcon(type) })), _jsx("div", { className: "query-builder-column-badge__property", title: `${postFilterConditionState.columnName}`, children: postFilterConditionState.columnName }), _jsx(QueryBuilderColumnInfoTooltip, { columnState: postFilterConditionState.columnState, placement: "bottom-end", children: _jsx("div", { className: "query-builder-column-badge__property__info", children: _jsx(InfoCircleIcon, {}) }) })] }) }) }));
|
146
124
|
});
|
147
125
|
const QueryBuilderPostFilterConditionEditor = observer((props) => {
|
148
|
-
const { node,
|
126
|
+
const { node, isDragOver } = props;
|
149
127
|
const graph = node.condition.postFilterState.queryBuilderState.graphManagerState.graph;
|
150
128
|
const applicationStore = useApplicationStore();
|
151
129
|
const changeOperator = (val) => () => node.condition.changeOperator(val);
|
@@ -170,11 +148,11 @@ const QueryBuilderPostFilterConditionEditor = observer((props) => {
|
|
170
148
|
}
|
171
149
|
}, [applicationStore, node.condition]);
|
172
150
|
const [{ isFilterValueDragOver }, dropConnector] = useDrop(() => ({
|
173
|
-
accept: [
|
151
|
+
accept: [QUERY_BUILDER_PARAMETER_DND_TYPE],
|
174
152
|
drop: (item, monitor) => {
|
175
153
|
if (!monitor.didDrop()) {
|
176
154
|
handleDrop(item);
|
177
|
-
}
|
155
|
+
} // prevent drop event propagation to accomondate for nested DnD
|
178
156
|
},
|
179
157
|
collect: (monitor) => ({
|
180
158
|
isFilterValueDragOver: monitor.isOver({ shallow: true }),
|
@@ -196,17 +174,17 @@ const QueryBuilderPostFilterConditionEditor = observer((props) => {
|
|
196
174
|
reloadValues: debouncedTypeaheadSearch,
|
197
175
|
cleanUpReloadValues,
|
198
176
|
};
|
199
|
-
return (
|
177
|
+
return (_jsx("div", { className: "query-builder-post-filter-tree__node__label__content", children: _jsx(PanelEntryDropZonePlaceholder, { showPlaceholder: isDragOver, label: "Add New Logical Group", className: "query-builder__dnd__placeholder", children: _jsxs("div", { className: "query-builder-post-filter-tree__condition-node", children: [_jsx("div", { className: "query-builder-post-filter-tree__condition-node__property", children: _jsx(QueryBuilderColumnBadge, { postFilterConditionState: node.condition, onColumnChange: changeColumn }) }), _jsxs(DropdownMenu, { className: "query-builder-post-filter-tree__condition-node__operator", content: _jsx(MenuContent, { children: node.condition.operators.map((op) => (_jsx(MenuContentItem, { className: "query-builder-post-filter-tree__condition-node__operator__dropdown__option", onClick: changeOperator(op), children: op.getLabel() }, op.uuid))) }), menuProps: {
|
200
178
|
anchorOrigin: { vertical: 'bottom', horizontal: 'left' },
|
201
179
|
transformOrigin: { vertical: 'top', horizontal: 'left' },
|
202
180
|
elevation: 7,
|
203
|
-
}, children: [_jsx("div", { className: "query-builder-post-filter-tree__condition-node__operator__label", children: node.condition.operator.getLabel() }), _jsx("button", { className: "query-builder-post-filter-tree__condition-node__operator__dropdown__trigger", tabIndex: -1, title: "Choose Operator...", children: _jsx(CaretDownIcon, {}) })] }), node.condition.value && (
|
181
|
+
}, children: [_jsx("div", { className: "query-builder-post-filter-tree__condition-node__operator__label", children: node.condition.operator.getLabel() }), _jsx("button", { className: "query-builder-post-filter-tree__condition-node__operator__dropdown__trigger", tabIndex: -1, title: "Choose Operator...", children: _jsx(CaretDownIcon, {}) })] }), node.condition.value && (_jsx("div", { ref: dropConnector, className: "query-builder-post-filter-tree__condition-node__value", children: _jsx(PanelEntryDropZonePlaceholder, { showPlaceholder: isFilterValueDragOver, label: "Change Filter Value", className: "query-builder__dnd__placeholder", children: _jsx(BasicValueSpecificationEditor, { valueSpecification: node.condition.value, setValueSpecification: changeValueSpecification, graph: graph, typeCheckOption: {
|
204
182
|
expectedType: guaranteeNonNullable(node.condition.columnState.getReturnType()),
|
205
|
-
}, resetValue: resetNode, selectorConfig: selectorConfig })
|
183
|
+
}, resetValue: resetNode, selectorConfig: selectorConfig }) }) }))] }) }) }));
|
206
184
|
});
|
207
185
|
const QueryBuilderPostFilterBlankConditionEditor = observer((props) => {
|
208
|
-
const {
|
209
|
-
return (
|
186
|
+
const { isDragOver } = props;
|
187
|
+
return (_jsx("div", { className: "query-builder-post-filter-tree__node__label__content", children: _jsx(PanelEntryDropZonePlaceholder, { showPlaceholder: isDragOver, label: "Create Condition", className: "query-builder__dnd__placeholder", children: _jsx("div", { className: "query-builder-post-filter-tree__blank-node", children: "blank" }) }) }));
|
210
188
|
});
|
211
189
|
const QueryBuilderPostFilterTreeNodeContainer = observer((props) => {
|
212
190
|
const { node, level, stepPaddingInRem, onNodeSelect, innerProps } = props;
|
@@ -220,7 +198,7 @@ const QueryBuilderPostFilterTreeNodeContainer = observer((props) => {
|
|
220
198
|
const toggleExpandNode = () => node.setIsOpen(!node.isOpen);
|
221
199
|
const removeNode = () => postFilterState.removeNodeAndPruneBranch(node);
|
222
200
|
const handleDrop = useCallback((item, type) => {
|
223
|
-
if (type ===
|
201
|
+
if (type === QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE) {
|
224
202
|
const columnState = item
|
225
203
|
.columnState;
|
226
204
|
let conditionState;
|
@@ -244,10 +222,10 @@ const QueryBuilderPostFilterTreeNodeContainer = observer((props) => {
|
|
244
222
|
}
|
245
223
|
}
|
246
224
|
}, [applicationStore, postFilterState, node]);
|
247
|
-
const [{
|
225
|
+
const [{ isDragOver }, dropConnector] = useDrop(() => ({
|
248
226
|
accept: [
|
249
227
|
...Object.values(QUERY_BUILDER_POST_FILTER_DND_TYPE),
|
250
|
-
|
228
|
+
QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE,
|
251
229
|
],
|
252
230
|
drop: (item, monitor) => {
|
253
231
|
if (!monitor.didDrop()) {
|
@@ -255,7 +233,7 @@ const QueryBuilderPostFilterTreeNodeContainer = observer((props) => {
|
|
255
233
|
} // prevent drop event propagation to accomondate for nested DnD
|
256
234
|
},
|
257
235
|
collect: (monitor) => ({
|
258
|
-
|
236
|
+
isDragOver: monitor.isOver({ shallow: true }),
|
259
237
|
}),
|
260
238
|
}), [handleDrop]);
|
261
239
|
const [, dragConnector, dragPreviewConnector] = useDrag(() => ({
|
@@ -268,10 +246,7 @@ const QueryBuilderPostFilterTreeNodeContainer = observer((props) => {
|
|
268
246
|
end: () => postFilterState.setRearrangingConditions(false),
|
269
247
|
}), [node, postFilterState]);
|
270
248
|
dragConnector(dropConnector(ref));
|
271
|
-
|
272
|
-
useEffect(() => {
|
273
|
-
dragPreviewConnector(getEmptyImage(), { captureDraggingState: true });
|
274
|
-
}, [dragPreviewConnector]);
|
249
|
+
useDragPreviewLayer(dragPreviewConnector);
|
275
250
|
// context menu
|
276
251
|
const onContextMenuOpen = () => setIsSelectedFromContextMenu(true);
|
277
252
|
const onContextMenuClose = () => setIsSelectedFromContextMenu(false);
|
@@ -284,8 +259,8 @@ const QueryBuilderPostFilterTreeNodeContainer = observer((props) => {
|
|
284
259
|
display: 'flex',
|
285
260
|
}, onClick: selectNode, children: [isExpandable && (_jsx("div", { className: "query-builder-post-filter-tree__expand-icon", onClick: toggleExpandNode, children: node.isOpen ? _jsx(ChevronDownIcon, {}) : _jsx(ChevronRightIcon, {}) })), _jsxs("div", { className: clsx('tree-view__node__label query-builder-post-filter-tree__node__label', {
|
286
261
|
'query-builder-post-filter-tree__node__label--expandable': isExpandable,
|
287
|
-
}), children: [node instanceof QueryBuilderPostFilterTreeGroupNodeData && (_jsx(QueryBuilderPostFilterGroupConditionEditor, { node: node,
|
288
|
-
QueryBuilderPostFilterTreeBlankConditionNodeData && (_jsx(QueryBuilderPostFilterBlankConditionEditor, { node: node,
|
262
|
+
}), children: [node instanceof QueryBuilderPostFilterTreeGroupNodeData && (_jsx(QueryBuilderPostFilterGroupConditionEditor, { node: node, isDragOver: isDragOver })), node instanceof QueryBuilderPostFilterTreeConditionNodeData && (_jsx(QueryBuilderPostFilterConditionEditor, { node: node, isDragOver: isDragOver })), node instanceof
|
263
|
+
QueryBuilderPostFilterTreeBlankConditionNodeData && (_jsx(QueryBuilderPostFilterBlankConditionEditor, { node: node, isDragOver: isDragOver }))] })] }), _jsx("div", { className: "query-builder-post-filter-tree__node__actions", children: _jsx("button", { className: "query-builder-post-filter-tree__node__action", tabIndex: -1, title: "Remove", onClick: removeNode, children: _jsx(TimesIcon, {}) }) })] }) }));
|
289
264
|
});
|
290
265
|
const QueryBuilderPostFilterTreeNodeView = observer((props) => {
|
291
266
|
const { node, level, onNodeSelect, getChildNodes, stepPaddingInRem, innerProps, } = props;
|
@@ -378,18 +353,18 @@ export const QueryBuilderPostFilterPanel = observer((props) => {
|
|
378
353
|
queryBuilderState.fetchStructureState.projectionState.aggregationState
|
379
354
|
.columns,
|
380
355
|
]);
|
381
|
-
const [{
|
382
|
-
accept: [
|
356
|
+
const [{ isDragOver }, dropTargetConnector] = useDrop(() => ({
|
357
|
+
accept: [QUERY_BUILDER_PROJECTION_COLUMN_DND_TYPE],
|
383
358
|
drop: (item, monitor) => {
|
384
359
|
if (!monitor.didDrop()) {
|
385
360
|
handleDrop(item).catch(queryBuilderState.applicationStore.alertUnhandledError);
|
386
361
|
} // prevent drop event propagation to accomondate for nested DnD
|
387
362
|
},
|
388
363
|
collect: (monitor) => ({
|
389
|
-
|
364
|
+
isDragOver: monitor.isOver({ shallow: true }),
|
390
365
|
}),
|
391
366
|
}), [handleDrop]);
|
392
367
|
return (_jsxs("div", { "data-testid": QUERY_BUILDER_TEST_ID.QUERY_BUILDER_POST_FILTER, className: "panel query-builder__filter", children: [_jsxs("div", { className: "panel__header", children: [_jsx("div", { className: "panel__header__title", children: _jsx("div", { className: "panel__header__title__label", children: "post-filter" }) }), _jsxs("div", { className: "panel__header__actions", children: [_jsx("button", { className: "panel__header__action", onClick: createCondition, tabIndex: -1, title: "Create Condition", children: _jsx(PlusIcon, {}) }), _jsx("button", { className: "panel__header__action", disabled: !(postFilterState.selectedNode instanceof
|
393
|
-
QueryBuilderPostFilterTreeConditionNodeData), onClick: newGroupWithCondition, tabIndex: -1, title: "Create Group From Condition", children: _jsx(PlusCircleIcon, {}) }), _jsx("button", { className: "panel__header__action", disabled: !allowGroupCreation, onClick: createGroupCondition, tabIndex: -1, title: "Create Logical Group", children: _jsx(NewFolderIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: pruneTree, tabIndex: -1, title: "Cleanup Tree", children: _jsx(BrushIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: simplifyTree, tabIndex: -1, title: "Simplify Tree", children: _jsx(CircleIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: collapseTree, tabIndex: -1, title: "Collapse Tree", children: _jsx(CompressIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: expandTree, tabIndex: -1, title: "Expand Tree", children: _jsx(ExpandIcon, {}) })] })] }),
|
368
|
+
QueryBuilderPostFilterTreeConditionNodeData), onClick: newGroupWithCondition, tabIndex: -1, title: "Create Group From Condition", children: _jsx(PlusCircleIcon, {}) }), _jsx("button", { className: "panel__header__action", disabled: !allowGroupCreation, onClick: createGroupCondition, tabIndex: -1, title: "Create Logical Group", children: _jsx(NewFolderIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: pruneTree, tabIndex: -1, title: "Cleanup Tree", children: _jsx(BrushIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: simplifyTree, tabIndex: -1, title: "Simplify Tree", children: _jsx(CircleIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: collapseTree, tabIndex: -1, title: "Collapse Tree", children: _jsx(CompressIcon, {}) }), _jsx("button", { className: "panel__header__action", onClick: expandTree, tabIndex: -1, title: "Expand Tree", children: _jsx(ExpandIcon, {}) })] })] }), _jsx("div", { className: "panel__content query-builder__filter__content", children: _jsxs(PanelDropZone, { isDragOver: isDragOver, dropTargetConnector: dropTargetConnector, children: [postFilterState.isEmpty && (_jsx(BlankPanelPlaceholder, { text: "Add a post-filter condition", tooltipText: "Drag and drop properties here" })), !postFilterState.isEmpty && (_jsxs(_Fragment, { children: [_jsx(DragPreviewLayer, { labelGetter: (item) => item.node.dragPreviewLabel, types: Object.values(QUERY_BUILDER_POST_FILTER_DND_TYPE) }), _jsx(QueryBuilderPostFilterTree, { queryBuilderState: queryBuilderState })] }))] }) })] }));
|
394
369
|
});
|
395
370
|
//# sourceMappingURL=QueryBuilderPostFilterPanel.js.map
|