@finos/legend-query-builder 4.14.46 → 4.14.48
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/__lib__/QueryBuilderDocumentation.d.ts +3 -1
- package/lib/__lib__/QueryBuilderDocumentation.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderDocumentation.js +2 -0
- package/lib/__lib__/QueryBuilderDocumentation.js.map +1 -1
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +14 -2
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +1 -5
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/explorer/{QueryBuilderMilestoningEditor.d.ts → QueryBuilderMilestoningParameterEditor.d.ts} +5 -2
- package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.d.ts.map +1 -0
- package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.js +52 -0
- package/lib/components/explorer/QueryBuilderMilestoningParameterEditor.js.map +1 -0
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +192 -21
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +13 -3
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.d.ts.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js +4 -1
- package/lib/components/result/tds/QueryBuilderTDSGridResult.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSResultShared.d.ts.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSResultShared.js +2 -5
- package/lib/components/result/tds/QueryBuilderTDSResultShared.js.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.d.ts.map +1 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js +4 -1
- package/lib/components/result/tds/QueryBuilderTDSSimpleGridResult.js.map +1 -1
- package/lib/graph-manager/QueryBuilderConfig.d.ts +4 -0
- package/lib/graph-manager/QueryBuilderConfig.d.ts.map +1 -1
- package/lib/graph-manager/QueryBuilderConfig.js +5 -0
- package/lib/graph-manager/QueryBuilderConfig.js.map +1 -1
- package/lib/index.css +1 -17
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +2 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +2 -2
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/QueryLoaderState.d.ts +1 -0
- package/lib/stores/QueryLoaderState.d.ts.map +1 -1
- package/lib/stores/QueryLoaderState.js +1 -0
- package/lib/stores/QueryLoaderState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +8 -0
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.js +4 -2
- package/lib/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.d.ts.map +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js +1 -1
- package/lib/stores/filter/QueryBuilderFilterStateBuilder.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js +13 -2
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js +8 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js +25 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js +22 -3
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts +2 -0
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js +8 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js.map +1 -1
- package/package.json +4 -4
- package/src/__lib__/QueryBuilderDocumentation.ts +2 -0
- package/src/components/QueryBuilder.tsx +44 -0
- package/src/components/QueryBuilderSideBar.tsx +0 -22
- package/src/components/explorer/QueryBuilderMilestoningParameterEditor.tsx +114 -0
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +445 -19
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +118 -21
- package/src/components/result/tds/QueryBuilderTDSGridResult.tsx +3 -0
- package/src/components/result/tds/QueryBuilderTDSResultShared.tsx +1 -6
- package/src/components/result/tds/QueryBuilderTDSSimpleGridResult.tsx +8 -1
- package/src/graph-manager/QueryBuilderConfig.ts +6 -0
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +3 -0
- package/src/stores/QueryLoaderState.ts +1 -0
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +11 -0
- package/src/stores/fetch-structure/tds/aggregation/operators/QueryBuilderAggregateOperator_Percentile.ts +6 -2
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionStateBuilder.ts +1 -0
- package/src/stores/filter/QueryBuilderFilterStateBuilder.ts +1 -0
- package/src/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.ts +23 -0
- package/src/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.ts +13 -0
- package/src/stores/milestoning/QueryBuilderMilestoningHelper.ts +45 -0
- package/src/stores/milestoning/QueryBuilderMilestoningImplementation.ts +3 -0
- package/src/stores/milestoning/QueryBuilderMilestoningState.ts +41 -7
- package/src/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.ts +13 -0
- package/tsconfig.json +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +0 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +0 -102
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +0 -1
- package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +0 -364
|
@@ -46,6 +46,7 @@ import {
|
|
|
46
46
|
clsx,
|
|
47
47
|
DocumentationIcon,
|
|
48
48
|
CodeIcon,
|
|
49
|
+
QuestionIcon,
|
|
49
50
|
} from '@finos/legend-art';
|
|
50
51
|
import { QueryBuilderFilterPanel } from './filter/QueryBuilderFilterPanel.js';
|
|
51
52
|
import { QueryBuilderExplorerPanel } from './explorer/QueryBuilderExplorerPanel.js';
|
|
@@ -442,6 +443,14 @@ export const QueryBuilder = observer(
|
|
|
442
443
|
const queryDocEntry = applicationStore.documentationService.getDocEntry(
|
|
443
444
|
QUERY_BUILDER_DOCUMENTATION_KEY.TUTORIAL_QUERY_BUILDER,
|
|
444
445
|
);
|
|
446
|
+
const frequentlyAskedQuestionEntry =
|
|
447
|
+
applicationStore.documentationService.getDocEntry(
|
|
448
|
+
QUERY_BUILDER_DOCUMENTATION_KEY.FREQUENTLY_ASKED_QUESTIONS,
|
|
449
|
+
);
|
|
450
|
+
const supportTicketsEntry =
|
|
451
|
+
applicationStore.documentationService.getDocEntry(
|
|
452
|
+
QUERY_BUILDER_DOCUMENTATION_KEY.SUPPORT_TICKETS_LINK,
|
|
453
|
+
);
|
|
445
454
|
const openQueryTutorial = (): void => {
|
|
446
455
|
if (queryDocEntry?.url) {
|
|
447
456
|
applicationStore.navigationService.navigator.visitAddress(
|
|
@@ -449,6 +458,21 @@ export const QueryBuilder = observer(
|
|
|
449
458
|
);
|
|
450
459
|
}
|
|
451
460
|
};
|
|
461
|
+
const openFrequentlyAskedQuestions = (): void => {
|
|
462
|
+
if (frequentlyAskedQuestionEntry?.url) {
|
|
463
|
+
applicationStore.navigationService.navigator.visitAddress(
|
|
464
|
+
frequentlyAskedQuestionEntry.url,
|
|
465
|
+
);
|
|
466
|
+
}
|
|
467
|
+
};
|
|
468
|
+
const openSupportTickets = (): void => {
|
|
469
|
+
if (supportTicketsEntry?.url) {
|
|
470
|
+
applicationStore.navigationService.navigator.visitAddress(
|
|
471
|
+
supportTicketsEntry.url,
|
|
472
|
+
);
|
|
473
|
+
}
|
|
474
|
+
};
|
|
475
|
+
|
|
452
476
|
const toggleAssistant = (): void =>
|
|
453
477
|
applicationStore.assistantService.toggleAssistant();
|
|
454
478
|
|
|
@@ -893,6 +917,26 @@ export const QueryBuilder = observer(
|
|
|
893
917
|
</MenuContentItemLabel>
|
|
894
918
|
</MenuContentItem>
|
|
895
919
|
)}
|
|
920
|
+
{frequentlyAskedQuestionEntry && (
|
|
921
|
+
<MenuContentItem onClick={openFrequentlyAskedQuestions}>
|
|
922
|
+
<MenuContentItemIcon>
|
|
923
|
+
<QuestionIcon />
|
|
924
|
+
</MenuContentItemIcon>
|
|
925
|
+
<MenuContentItemLabel>
|
|
926
|
+
Frequently Asked Questions
|
|
927
|
+
</MenuContentItemLabel>
|
|
928
|
+
</MenuContentItem>
|
|
929
|
+
)}
|
|
930
|
+
{supportTicketsEntry && (
|
|
931
|
+
<MenuContentItem onClick={openSupportTickets}>
|
|
932
|
+
<MenuContentItemIcon>
|
|
933
|
+
<QuestionIcon />
|
|
934
|
+
</MenuContentItemIcon>
|
|
935
|
+
<MenuContentItemLabel>
|
|
936
|
+
Open Support Tickets
|
|
937
|
+
</MenuContentItemLabel>
|
|
938
|
+
</MenuContentItem>
|
|
939
|
+
)}
|
|
896
940
|
<MenuContentItem onClick={toggleAssistant}>
|
|
897
941
|
<MenuContentItemIcon>
|
|
898
942
|
{!applicationStore.assistantService.isHidden ? (
|
|
@@ -47,7 +47,6 @@ import {
|
|
|
47
47
|
getPackageableElementOptionFormatter,
|
|
48
48
|
type PackageableElementOption,
|
|
49
49
|
} from '@finos/legend-lego/graph-editor';
|
|
50
|
-
import { MilestoningParametersEditor } from './explorer/QueryBuilderMilestoningEditor.js';
|
|
51
50
|
import type { QueryBuilder_LegendApplicationPlugin_Extension } from '../stores/QueryBuilder_LegendApplicationPlugin_Extension.js';
|
|
52
51
|
|
|
53
52
|
export const getParameterValue = (
|
|
@@ -120,7 +119,6 @@ export const QueryBuilderClassSelector = observer(
|
|
|
120
119
|
noMatchMessage?: string | undefined;
|
|
121
120
|
}) => {
|
|
122
121
|
const { queryBuilderState, classes, onClassChange, noMatchMessage } = props;
|
|
123
|
-
const milestoningState = queryBuilderState.milestoningState;
|
|
124
122
|
const applicationStore = useApplicationStore();
|
|
125
123
|
|
|
126
124
|
// class
|
|
@@ -151,10 +149,6 @@ export const QueryBuilderClassSelector = observer(
|
|
|
151
149
|
onClassChange?.(val.value);
|
|
152
150
|
};
|
|
153
151
|
|
|
154
|
-
// milestoning
|
|
155
|
-
const showMilestoningEditor = (): void =>
|
|
156
|
-
milestoningState.setShowMilestoningEditor(true);
|
|
157
|
-
|
|
158
152
|
return (
|
|
159
153
|
<div className="query-builder__setup__config-group query-builder__setup__config-group--class">
|
|
160
154
|
<div className="query-builder__setup__config-group__item ">
|
|
@@ -192,22 +186,6 @@ export const QueryBuilderClassSelector = observer(
|
|
|
192
186
|
.TEMPORARY__isLightColorThemeEnabled,
|
|
193
187
|
})}
|
|
194
188
|
/>
|
|
195
|
-
{queryBuilderState.isQuerySupported && (
|
|
196
|
-
<button
|
|
197
|
-
className="btn--dark btn__icon--dark query-builder__setup__milestoning"
|
|
198
|
-
tabIndex={-1}
|
|
199
|
-
onClick={showMilestoningEditor}
|
|
200
|
-
disabled={!milestoningState.isMilestonedQuery}
|
|
201
|
-
title="Edit Milestoning Parameters"
|
|
202
|
-
>
|
|
203
|
-
<ClockIcon />
|
|
204
|
-
</button>
|
|
205
|
-
)}
|
|
206
|
-
{milestoningState.isMilestonedQuery && (
|
|
207
|
-
<MilestoningParametersEditor
|
|
208
|
-
queryBuilderState={queryBuilderState}
|
|
209
|
-
/>
|
|
210
|
-
)}
|
|
211
189
|
</div>
|
|
212
190
|
</div>
|
|
213
191
|
);
|
|
@@ -0,0 +1,114 @@
|
|
|
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
|
+
|
|
17
|
+
import { observer } from 'mobx-react-lite';
|
|
18
|
+
import type { QueryBuilderState } from '../../stores/QueryBuilderState.js';
|
|
19
|
+
import { useCallback } from 'react';
|
|
20
|
+
import {
|
|
21
|
+
type ValueSpecification,
|
|
22
|
+
GenericType,
|
|
23
|
+
GenericTypeExplicitReference,
|
|
24
|
+
observe_PrimitiveInstanceValue,
|
|
25
|
+
PrimitiveInstanceValue,
|
|
26
|
+
PRIMITIVE_TYPE,
|
|
27
|
+
PrimitiveType,
|
|
28
|
+
} from '@finos/legend-graph';
|
|
29
|
+
import { useDrop } from 'react-dnd';
|
|
30
|
+
import { PanelEntryDropZonePlaceholder } from '@finos/legend-art';
|
|
31
|
+
import { generateDefaultValueForPrimitiveType } from '../../stores/QueryBuilderValueSpecificationHelper.js';
|
|
32
|
+
import {
|
|
33
|
+
BasicValueSpecificationEditor,
|
|
34
|
+
type QueryBuilderVariableDragSource,
|
|
35
|
+
QUERY_BUILDER_VARIABLE_DND_TYPE,
|
|
36
|
+
} from '../shared/BasicValueSpecificationEditor.js';
|
|
37
|
+
import { instanceValue_setValues } from '../../stores/shared/ValueSpecificationModifierHelper.js';
|
|
38
|
+
|
|
39
|
+
export const MilestoningParameterEditor = observer(
|
|
40
|
+
(props: {
|
|
41
|
+
queryBuilderState: QueryBuilderState;
|
|
42
|
+
parameter: ValueSpecification;
|
|
43
|
+
setParameter: (val: ValueSpecification) => void;
|
|
44
|
+
}) => {
|
|
45
|
+
const { queryBuilderState, parameter, setParameter } = props;
|
|
46
|
+
const handleDrop = useCallback(
|
|
47
|
+
(item: QueryBuilderVariableDragSource): void => {
|
|
48
|
+
setParameter(item.variable);
|
|
49
|
+
},
|
|
50
|
+
[setParameter],
|
|
51
|
+
);
|
|
52
|
+
const [{ isDragOver }, dropConnector] = useDrop<
|
|
53
|
+
QueryBuilderVariableDragSource,
|
|
54
|
+
void,
|
|
55
|
+
{ isDragOver: boolean }
|
|
56
|
+
>(
|
|
57
|
+
() => ({
|
|
58
|
+
accept: [QUERY_BUILDER_VARIABLE_DND_TYPE],
|
|
59
|
+
drop: (item, monitor): void => {
|
|
60
|
+
if (!monitor.didDrop()) {
|
|
61
|
+
handleDrop(item);
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
collect: (monitor): { isDragOver: boolean } => ({
|
|
65
|
+
isDragOver: monitor.isOver({
|
|
66
|
+
shallow: true,
|
|
67
|
+
}),
|
|
68
|
+
}),
|
|
69
|
+
}),
|
|
70
|
+
[handleDrop],
|
|
71
|
+
);
|
|
72
|
+
const resetMilestoningParameter = (): void => {
|
|
73
|
+
const param = observe_PrimitiveInstanceValue(
|
|
74
|
+
new PrimitiveInstanceValue(
|
|
75
|
+
GenericTypeExplicitReference.create(
|
|
76
|
+
new GenericType(PrimitiveType.STRICTDATE),
|
|
77
|
+
),
|
|
78
|
+
),
|
|
79
|
+
queryBuilderState.observerContext,
|
|
80
|
+
);
|
|
81
|
+
instanceValue_setValues(
|
|
82
|
+
param,
|
|
83
|
+
[generateDefaultValueForPrimitiveType(PRIMITIVE_TYPE.STRICTDATE)],
|
|
84
|
+
queryBuilderState.observerContext,
|
|
85
|
+
);
|
|
86
|
+
setParameter(param);
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
return (
|
|
90
|
+
<div ref={dropConnector} className="query-builder__variable-editor">
|
|
91
|
+
<PanelEntryDropZonePlaceholder
|
|
92
|
+
isDragOver={isDragOver}
|
|
93
|
+
label="Change Milestoning Parameter Value"
|
|
94
|
+
>
|
|
95
|
+
<BasicValueSpecificationEditor
|
|
96
|
+
valueSpecification={parameter}
|
|
97
|
+
graph={queryBuilderState.graphManagerState.graph}
|
|
98
|
+
obseverContext={queryBuilderState.observerContext}
|
|
99
|
+
setValueSpecification={(val: ValueSpecification): void =>
|
|
100
|
+
setParameter(val)
|
|
101
|
+
}
|
|
102
|
+
typeCheckOption={{
|
|
103
|
+
expectedType: PrimitiveType.DATE,
|
|
104
|
+
}}
|
|
105
|
+
resetValue={resetMilestoningParameter}
|
|
106
|
+
isConstant={queryBuilderState.constantState.isValueSpecConstant(
|
|
107
|
+
parameter,
|
|
108
|
+
)}
|
|
109
|
+
/>
|
|
110
|
+
</PanelEntryDropZonePlaceholder>
|
|
111
|
+
</div>
|
|
112
|
+
);
|
|
113
|
+
},
|
|
114
|
+
);
|