@finos/legend-query-builder 4.7.1 → 4.7.3
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/__lib__/QueryBuilderTesting.d.ts +1 -0
- package/lib/__lib__/QueryBuilderTesting.d.ts.map +1 -1
- package/lib/__lib__/QueryBuilderTesting.js +1 -0
- package/lib/__lib__/QueryBuilderTesting.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +14 -23
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +5 -4
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/graph-manager/QueryBuilderConst.d.ts +1 -0
- package/lib/graph-manager/QueryBuilderConst.d.ts.map +1 -1
- package/lib/graph-manager/QueryBuilderConst.js +1 -0
- package/lib/graph-manager/QueryBuilderConst.js.map +1 -1
- package/lib/index.css +17 -1
- package/lib/index.css.map +1 -1
- package/lib/package.json +9 -9
- package/lib/stores/QueryBuilderResultState.d.ts +9 -9
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +20 -20
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.d.ts +1 -0
- package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.js +6 -0
- package/lib/stores/fetch-structure/tds/QueryResultSetModifierState.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js +2 -0
- package/lib/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js +2 -0
- package/lib/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js +0 -2
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js +2 -0
- package/lib/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.js.map +1 -1
- package/package.json +17 -17
- package/src/__lib__/QueryBuilderTesting.ts +1 -0
- package/src/components/QueryBuilderResultPanel.tsx +34 -46
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +86 -28
- package/src/graph-manager/QueryBuilderConst.ts +2 -0
- package/src/stores/QueryBuilderResultState.ts +20 -22
- package/src/stores/fetch-structure/tds/QueryResultSetModifierState.ts +7 -0
- package/src/stores/milestoning/QueryBuilderBitemporalMilestoningImplementation.ts +2 -0
- package/src/stores/milestoning/QueryBuilderBusinessTemporalMilestoningImplementation.ts +2 -0
- package/src/stores/milestoning/QueryBuilderMilestoningState.ts +0 -2
- package/src/stores/milestoning/QueryBuilderProcessingTemporalMilestoningImplementation.ts +2 -0
@@ -39,7 +39,6 @@ import {
|
|
39
39
|
PanelDivider,
|
40
40
|
} from '@finos/legend-art';
|
41
41
|
import { format as formatSQL } from 'sql-formatter';
|
42
|
-
|
43
42
|
import { observer } from 'mobx-react-lite';
|
44
43
|
import { flowResult } from 'mobx';
|
45
44
|
import type { QueryBuilderState } from '../stores/QueryBuilderState.js';
|
@@ -99,6 +98,7 @@ import { QUERY_BUILDER_TEST_ID } from '../__lib__/QueryBuilderTesting.js';
|
|
99
98
|
import {
|
100
99
|
DataGrid,
|
101
100
|
type DataGridCellRendererParams,
|
101
|
+
type DataGridColumnDefinition,
|
102
102
|
} from '@finos/legend-lego/data-grid';
|
103
103
|
import {
|
104
104
|
CODE_EDITOR_LANGUAGE,
|
@@ -115,6 +115,7 @@ import {
|
|
115
115
|
QueryBuilderPostFilterOperator_IsNotEmpty,
|
116
116
|
} from '../stores/fetch-structure/tds/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js';
|
117
117
|
import { QueryUsageViewer } from './QueryUsageViewer.js';
|
118
|
+
import { DEFAULT_LOCALE } from '../graph-manager/QueryBuilderConst.js';
|
118
119
|
|
119
120
|
export const tryToFormatSql = (sql: string): string => {
|
120
121
|
try {
|
@@ -479,8 +480,15 @@ const QueryResultCellRenderer = observer(
|
|
479
480
|
(params: IQueryRendererParamsWithGridType) => {
|
480
481
|
const resultState = params.resultState;
|
481
482
|
const tdsExecutionResult = params.tdsExecutionResult;
|
483
|
+
const fetchStructureImplementation =
|
484
|
+
resultState.queryBuilderState.fetchStructureState.implementation;
|
482
485
|
|
483
486
|
const cellValue = params.value as string;
|
487
|
+
const formattedCellValue = !isNaN(Number(cellValue))
|
488
|
+
? Intl.NumberFormat(DEFAULT_LOCALE, { maximumFractionDigits: 4 }).format(
|
489
|
+
Number(cellValue),
|
490
|
+
)
|
491
|
+
: cellValue;
|
484
492
|
const columnName = params.column?.getColId() ?? '';
|
485
493
|
|
486
494
|
const findCoordinatesFromResultValue = (
|
@@ -498,7 +506,6 @@ const QueryResultCellRenderer = observer(
|
|
498
506
|
columnName,
|
499
507
|
params.rowIndex,
|
500
508
|
);
|
501
|
-
|
502
509
|
const cellInFilteredResults = resultState.selectedCells.some(
|
503
510
|
(result) =>
|
504
511
|
result.coordinates.colIndex === currentCellCoordinates.colIndex &&
|
@@ -564,7 +571,7 @@ const QueryResultCellRenderer = observer(
|
|
564
571
|
coordinates.rowIndex,
|
565
572
|
coordinates.colIndex,
|
566
573
|
]);
|
567
|
-
resultState.
|
574
|
+
resultState.addSelectedCell({
|
568
575
|
value: actualValue,
|
569
576
|
columnName: columnName,
|
570
577
|
coordinates: coordinates,
|
@@ -583,9 +590,6 @@ const QueryResultCellRenderer = observer(
|
|
583
590
|
coordinates.rowIndex,
|
584
591
|
coordinates.colIndex,
|
585
592
|
]);
|
586
|
-
|
587
|
-
const rowNode = params.api.getRowNode(params.rowIndex.toString());
|
588
|
-
|
589
593
|
resultState.setSelectedCells([
|
590
594
|
{
|
591
595
|
value: actualValue,
|
@@ -593,15 +597,6 @@ const QueryResultCellRenderer = observer(
|
|
593
597
|
coordinates: coordinates,
|
594
598
|
},
|
595
599
|
]);
|
596
|
-
|
597
|
-
if (rowNode) {
|
598
|
-
params.api.refreshCells({
|
599
|
-
force: true,
|
600
|
-
columns: [columnName],
|
601
|
-
rowNodes: [rowNode],
|
602
|
-
});
|
603
|
-
}
|
604
|
-
|
605
600
|
resultState.setMouseOverCell(resultState.selectedCells[0] ?? null);
|
606
601
|
}
|
607
602
|
|
@@ -616,7 +611,6 @@ const QueryResultCellRenderer = observer(
|
|
616
611
|
coordinates.rowIndex,
|
617
612
|
coordinates.colIndex,
|
618
613
|
]);
|
619
|
-
|
620
614
|
resultState.setSelectedCells([
|
621
615
|
{
|
622
616
|
value: actualValue,
|
@@ -624,19 +618,11 @@ const QueryResultCellRenderer = observer(
|
|
624
618
|
coordinates: coordinates,
|
625
619
|
},
|
626
620
|
]);
|
627
|
-
const rowNode = params.api.getRowNode(params.rowIndex.toString());
|
628
|
-
|
629
|
-
if (rowNode) {
|
630
|
-
params.api.refreshCells({
|
631
|
-
force: true,
|
632
|
-
columns: [columnName],
|
633
|
-
rowNodes: [rowNode],
|
634
|
-
});
|
635
|
-
}
|
636
621
|
resultState.setMouseOverCell(resultState.selectedCells[0] ?? null);
|
637
622
|
}
|
638
623
|
}
|
639
624
|
};
|
625
|
+
|
640
626
|
const mouseUp: React.MouseEventHandler = (event) => {
|
641
627
|
resultState.setIsSelectingCells(false);
|
642
628
|
};
|
@@ -684,7 +670,7 @@ const QueryResultCellRenderer = observer(
|
|
684
670
|
result.coordinates.rowIndex === x,
|
685
671
|
)
|
686
672
|
) {
|
687
|
-
resultState.
|
673
|
+
resultState.addSelectedCell(valueAndColumnId);
|
688
674
|
}
|
689
675
|
}
|
690
676
|
}
|
@@ -693,9 +679,6 @@ const QueryResultCellRenderer = observer(
|
|
693
679
|
resultState.setMouseOverCell(resultState.selectedCells[0] ?? null);
|
694
680
|
};
|
695
681
|
|
696
|
-
const fetchStructureImplementation =
|
697
|
-
resultState.queryBuilderState.fetchStructureState.implementation;
|
698
|
-
|
699
682
|
return (
|
700
683
|
<ContextMenu
|
701
684
|
content={
|
@@ -716,7 +699,6 @@ const QueryResultCellRenderer = observer(
|
|
716
699
|
!resultState.mousedOverCell
|
717
700
|
}
|
718
701
|
menuProps={{ elevation: 7 }}
|
719
|
-
key={params.value as string}
|
720
702
|
className={clsx('ag-theme-balham-dark query-builder__result__tds-grid')}
|
721
703
|
>
|
722
704
|
<div
|
@@ -733,7 +715,7 @@ const QueryResultCellRenderer = observer(
|
|
733
715
|
{cellValue}
|
734
716
|
</a>
|
735
717
|
) : (
|
736
|
-
<span>{
|
718
|
+
<span>{formattedCellValue}</span>
|
737
719
|
)}
|
738
720
|
</div>
|
739
721
|
</ContextMenu>
|
@@ -775,23 +757,29 @@ const QueryBuilderGridResult = observer(
|
|
775
757
|
rowData={rowData}
|
776
758
|
gridOptions={{
|
777
759
|
suppressScrollOnNewData: true,
|
778
|
-
getRowId:
|
779
|
-
|
780
|
-
|
760
|
+
getRowId: (data) => data.data.rowNumber,
|
761
|
+
}}
|
762
|
+
// NOTE: when column definition changed, we need to force refresh the cell to make sure the cell renderer is updated
|
763
|
+
// See https://stackoverflow.com/questions/56341073/how-to-refresh-an-ag-grid-when-a-change-occurs-inside-a-custom-cell-renderer-com
|
764
|
+
onRowDataUpdated={(params) => {
|
765
|
+
params.api.refreshCells({ force: true });
|
781
766
|
}}
|
782
767
|
suppressFieldDotNotation={true}
|
783
|
-
columnDefs={executionResult.result.columns.map(
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
768
|
+
columnDefs={executionResult.result.columns.map(
|
769
|
+
(colName) =>
|
770
|
+
({
|
771
|
+
minWidth: 50,
|
772
|
+
sortable: true,
|
773
|
+
resizable: true,
|
774
|
+
field: colName,
|
775
|
+
flex: 1,
|
776
|
+
cellRenderer: QueryResultCellRenderer,
|
777
|
+
cellRendererParams: {
|
778
|
+
resultState: resultState,
|
779
|
+
tdsExecutionResult: executionResult,
|
780
|
+
},
|
781
|
+
}) as DataGridColumnDefinition,
|
782
|
+
)}
|
795
783
|
/>
|
796
784
|
</div>
|
797
785
|
</div>
|
@@ -30,7 +30,6 @@ import {
|
|
30
30
|
PanelDropZone,
|
31
31
|
DragPreviewLayer,
|
32
32
|
useDragPreviewLayer,
|
33
|
-
OptionsIcon,
|
34
33
|
PlusIcon,
|
35
34
|
PanelContent,
|
36
35
|
TrashIcon,
|
@@ -41,6 +40,7 @@ import {
|
|
41
40
|
CustomSelectorInput,
|
42
41
|
PanelEntryDropZonePlaceholder,
|
43
42
|
FunctionIcon,
|
43
|
+
CogIcon,
|
44
44
|
} from '@finos/legend-art';
|
45
45
|
import {
|
46
46
|
type QueryBuilderExplorerTreeDragSource,
|
@@ -952,6 +952,7 @@ export const QueryBuilderTDSPanel = observer(
|
|
952
952
|
const clearAllProjectionColumns = (): void => {
|
953
953
|
tdsState.checkBeforeClearingColumns(() => {
|
954
954
|
tdsState.removeAllColumns();
|
955
|
+
tdsState.resultSetModifierState.reset();
|
955
956
|
});
|
956
957
|
};
|
957
958
|
|
@@ -1061,35 +1062,92 @@ export const QueryBuilderTDSPanel = observer(
|
|
1061
1062
|
return (
|
1062
1063
|
<PanelContent>
|
1063
1064
|
<div className="query-builder__projection__toolbar">
|
1064
|
-
<
|
1065
|
-
className="
|
1066
|
-
|
1067
|
-
|
1068
|
-
title="Configure result set modifiers..."
|
1069
|
-
>
|
1070
|
-
<OptionsIcon className="query-builder__icon query-builder__icon__query-option" />
|
1071
|
-
</button>
|
1072
|
-
<button
|
1073
|
-
className="panel__header__action"
|
1074
|
-
disabled={isEmpty}
|
1075
|
-
onClick={clearAllProjectionColumns}
|
1076
|
-
tabIndex={-1}
|
1077
|
-
title={
|
1078
|
-
isEmpty
|
1079
|
-
? 'No projection columns to clear'
|
1080
|
-
: 'Clear all projection columns'
|
1065
|
+
<div
|
1066
|
+
className="query-builder__projection__result-modifier-prompt"
|
1067
|
+
data-testid={
|
1068
|
+
QUERY_BUILDER_TEST_ID.QUERY_BUILDER_TDS_RESULT_MODIFIER_PROMPT
|
1081
1069
|
}
|
1082
1070
|
>
|
1083
|
-
<
|
1084
|
-
|
1085
|
-
|
1086
|
-
|
1087
|
-
|
1088
|
-
|
1089
|
-
|
1090
|
-
|
1091
|
-
|
1092
|
-
|
1071
|
+
<div className="query-builder__projection__result-modifier-prompt__header">
|
1072
|
+
<button
|
1073
|
+
className="query-builder__projection__result-modifier-prompt__header__label"
|
1074
|
+
onClick={openResultSetModifierEditor}
|
1075
|
+
title="Configure result set modifiers..."
|
1076
|
+
>
|
1077
|
+
<CogIcon className="query-builder__projection__result-modifier-prompt__header__label__icon" />
|
1078
|
+
<div className="query-builder__projection__result-modifier-prompt__header__label__title">
|
1079
|
+
Query Options
|
1080
|
+
</div>
|
1081
|
+
</button>
|
1082
|
+
</div>
|
1083
|
+
{tdsState.resultSetModifierState.limit && (
|
1084
|
+
<div className="query-builder__projection__result-modifier-prompt__group">
|
1085
|
+
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
1086
|
+
Max Rows
|
1087
|
+
</div>
|
1088
|
+
<div
|
1089
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
1090
|
+
onClick={openResultSetModifierEditor}
|
1091
|
+
>
|
1092
|
+
{tdsState.resultSetModifierState.limit}
|
1093
|
+
</div>
|
1094
|
+
</div>
|
1095
|
+
)}
|
1096
|
+
{tdsState.resultSetModifierState.distinct && (
|
1097
|
+
<div className="query-builder__projection__result-modifier-prompt__group">
|
1098
|
+
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
1099
|
+
Eliminate Duplicate Rows
|
1100
|
+
</div>
|
1101
|
+
<div
|
1102
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
1103
|
+
onClick={openResultSetModifierEditor}
|
1104
|
+
>
|
1105
|
+
Yes
|
1106
|
+
</div>
|
1107
|
+
</div>
|
1108
|
+
)}
|
1109
|
+
{tdsState.resultSetModifierState.sortColumns.length > 0 && (
|
1110
|
+
<div className="query-builder__projection__result-modifier-prompt__group">
|
1111
|
+
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
1112
|
+
Sort
|
1113
|
+
</div>
|
1114
|
+
{tdsState.resultSetModifierState.sortColumns.map(
|
1115
|
+
(columnState) => (
|
1116
|
+
<div
|
1117
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
1118
|
+
key={columnState.columnState.uuid}
|
1119
|
+
onClick={openResultSetModifierEditor}
|
1120
|
+
>
|
1121
|
+
{`${columnState.columnState.columnName} ${columnState.sortType}`}
|
1122
|
+
</div>
|
1123
|
+
),
|
1124
|
+
)}
|
1125
|
+
</div>
|
1126
|
+
)}
|
1127
|
+
</div>
|
1128
|
+
<div className="query-builder__projection__toolbar__actions">
|
1129
|
+
<button
|
1130
|
+
className="panel__header__action"
|
1131
|
+
disabled={isEmpty}
|
1132
|
+
onClick={clearAllProjectionColumns}
|
1133
|
+
tabIndex={-1}
|
1134
|
+
title={
|
1135
|
+
isEmpty
|
1136
|
+
? 'No projection columns to clear'
|
1137
|
+
: 'Clear all projection columns'
|
1138
|
+
}
|
1139
|
+
>
|
1140
|
+
<TrashIcon className="query-builder__icon query-builder__icon__query-option--small" />
|
1141
|
+
</button>
|
1142
|
+
<button
|
1143
|
+
className="panel__header__action"
|
1144
|
+
onClick={addNewBlankDerivation}
|
1145
|
+
tabIndex={-1}
|
1146
|
+
title="Add a new derivation"
|
1147
|
+
>
|
1148
|
+
<PlusIcon />
|
1149
|
+
</button>
|
1150
|
+
</div>
|
1093
1151
|
</div>
|
1094
1152
|
<div className="query-builder__projection__content">
|
1095
1153
|
<PanelDropZone
|
@@ -98,13 +98,13 @@ export class QueryBuilderResultState {
|
|
98
98
|
mousedOverCell: observable,
|
99
99
|
isRunningQuery: observable,
|
100
100
|
isSelectingCells: observable,
|
101
|
-
setIsSelectingCells: action,
|
102
101
|
isQueryUsageViewerOpened: observable,
|
102
|
+
setIsSelectingCells: action,
|
103
103
|
setIsRunningQuery: action,
|
104
104
|
setExecutionResult: action,
|
105
105
|
setExecutionDuration: action,
|
106
106
|
setPreviewLimit: action,
|
107
|
-
|
107
|
+
addSelectedCell: action,
|
108
108
|
setSelectedCells: action,
|
109
109
|
setMouseOverCell: action,
|
110
110
|
setQueryRunPromise: action,
|
@@ -124,43 +124,41 @@ export class QueryBuilderResultState {
|
|
124
124
|
);
|
125
125
|
}
|
126
126
|
|
127
|
-
setIsSelectingCells
|
127
|
+
setIsSelectingCells(val: boolean): void {
|
128
128
|
this.isSelectingCells = val;
|
129
|
-
}
|
129
|
+
}
|
130
130
|
|
131
|
-
setIsRunningQuery
|
131
|
+
setIsRunningQuery(val: boolean): void {
|
132
132
|
this.isRunningQuery = val;
|
133
|
-
}
|
133
|
+
}
|
134
134
|
|
135
|
-
setExecutionResult
|
135
|
+
setExecutionResult(val: ExecutionResult | undefined): void {
|
136
136
|
this.executionResult = val;
|
137
|
-
}
|
137
|
+
}
|
138
138
|
|
139
|
-
setExecutionDuration
|
139
|
+
setExecutionDuration(val: number | undefined): void {
|
140
140
|
this.executionDuration = val;
|
141
|
-
}
|
141
|
+
}
|
142
142
|
|
143
|
-
setPreviewLimit
|
143
|
+
setPreviewLimit(val: number): void {
|
144
144
|
this.previewLimit = Math.max(1, val);
|
145
|
-
}
|
145
|
+
}
|
146
146
|
|
147
|
-
|
147
|
+
addSelectedCell(val: QueryBuilderTDSResultCellData): void {
|
148
148
|
this.selectedCells.push(val);
|
149
|
-
}
|
149
|
+
}
|
150
150
|
|
151
|
-
setSelectedCells
|
151
|
+
setSelectedCells(val: QueryBuilderTDSResultCellData[]): void {
|
152
152
|
this.selectedCells = val;
|
153
|
-
}
|
153
|
+
}
|
154
154
|
|
155
|
-
setMouseOverCell
|
155
|
+
setMouseOverCell(val: QueryBuilderTDSResultCellData | null): void {
|
156
156
|
this.mousedOverCell = val;
|
157
|
-
}
|
157
|
+
}
|
158
158
|
|
159
|
-
setQueryRunPromise
|
160
|
-
promise: Promise<ExecutionResult> | undefined,
|
161
|
-
): void => {
|
159
|
+
setQueryRunPromise(promise: Promise<ExecutionResult> | undefined): void {
|
162
160
|
this.queryRunPromise = promise;
|
163
|
-
}
|
161
|
+
}
|
164
162
|
|
165
163
|
setIsQueryUsageViewerOpened(val: boolean): void {
|
166
164
|
this.isQueryUsageViewerOpened = val;
|
@@ -82,6 +82,7 @@ export class QueryResultSetModifierState implements Hashable {
|
|
82
82
|
deleteSortColumn: action,
|
83
83
|
addSortColumn: action,
|
84
84
|
updateSortColumns: action,
|
85
|
+
reset: action,
|
85
86
|
hashCode: computed,
|
86
87
|
});
|
87
88
|
|
@@ -114,6 +115,12 @@ export class QueryResultSetModifierState implements Hashable {
|
|
114
115
|
);
|
115
116
|
}
|
116
117
|
|
118
|
+
reset(): void {
|
119
|
+
this.sortColumns = [];
|
120
|
+
this.distinct = false;
|
121
|
+
this.limit = undefined;
|
122
|
+
}
|
123
|
+
|
117
124
|
get hashCode(): string {
|
118
125
|
return hashArray([
|
119
126
|
QUERY_BUILDER_STATE_HASH_STRUCTURE.RESULT_SET_MODIFIER_STATE,
|
@@ -62,6 +62,8 @@ export class QueryBuilderBitemporalMilestoningImplementation extends QueryBuilde
|
|
62
62
|
),
|
63
63
|
);
|
64
64
|
}
|
65
|
+
// Show the parameter panel because we populate paramaters state with milestoning parameters
|
66
|
+
this.milestoningState.queryBuilderState.setShowParametersPanel(true);
|
65
67
|
}
|
66
68
|
|
67
69
|
processGetAllParamaters(parameterValues: ValueSpecification[]): void {
|
@@ -43,6 +43,8 @@ export class QueryBuilderBusinessTemporalMilestoningImplementation extends Query
|
|
43
43
|
),
|
44
44
|
);
|
45
45
|
}
|
46
|
+
// Show the parameter panel because we populate paramaters state with milestoning parameters
|
47
|
+
this.milestoningState.queryBuilderState.setShowParametersPanel(true);
|
46
48
|
}
|
47
49
|
|
48
50
|
processGetAllParamaters(parameterValues: ValueSpecification[]): void {
|
@@ -140,8 +140,6 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
140
140
|
this.setProcessingDate(undefined);
|
141
141
|
if (stereotype) {
|
142
142
|
this.initializeQueryMilestoningParameters(stereotype);
|
143
|
-
// Show the parameter panel because we populate paramaters state with milestoning parameters
|
144
|
-
this.queryBuilderState.setShowParametersPanel(true);
|
145
143
|
}
|
146
144
|
}
|
147
145
|
}
|
@@ -42,6 +42,8 @@ export class QueryBuilderProcessingTemporalMilestoningImplementation extends Que
|
|
42
42
|
),
|
43
43
|
);
|
44
44
|
}
|
45
|
+
// Show the parameter panel because we populate paramaters state with milestoning parameters
|
46
|
+
this.milestoningState.queryBuilderState.setShowParametersPanel(true);
|
45
47
|
}
|
46
48
|
|
47
49
|
processGetAllParamaters(parameterValues: ValueSpecification[]): void {
|