@finos/legend-query-builder 4.14.41 → 4.14.43
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.js +2 -20
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderSideBar.d.ts.map +1 -1
- package/lib/components/QueryBuilderSideBar.js +14 -5
- package/lib/components/QueryBuilderSideBar.js.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts +0 -5
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +5 -10
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +3 -35
- 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 +1 -19
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/result/QueryBuilderResultPanel.js +1 -2
- package/lib/components/result/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +9 -7
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderVariableSelector.js +1 -8
- package/lib/components/shared/QueryBuilderVariableSelector.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts +0 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +1 -2
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +0 -12
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts +0 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js +0 -8
- package/lib/stores/fetch-structure/tds/QueryBuilderTDSState.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts +0 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js +0 -16
- package/lib/stores/milestoning/QueryBuilderMilestoningHelper.js.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts +0 -3
- package/lib/stores/milestoning/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js +3 -49
- package/lib/stores/milestoning/QueryBuilderMilestoningState.js.map +1 -1
- package/package.json +1 -1
- package/src/components/QueryBuilderParametersPanel.tsx +0 -55
- package/src/components/QueryBuilderSideBar.tsx +35 -0
- package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +46 -60
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +3 -53
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +19 -132
- package/src/components/result/QueryBuilderResultPanel.tsx +1 -9
- package/src/components/shared/BasicValueSpecificationEditor.tsx +29 -18
- package/src/components/shared/QueryBuilderVariableSelector.tsx +0 -22
- package/src/stores/QueryBuilderPropertyEditorState.ts +1 -2
- package/src/stores/QueryBuilderState.ts +0 -14
- package/src/stores/fetch-structure/tds/QueryBuilderTDSState.ts +0 -11
- package/src/stores/milestoning/QueryBuilderMilestoningHelper.ts +0 -24
- package/src/stores/milestoning/QueryBuilderMilestoningState.ts +7 -65
|
@@ -1138,134 +1138,27 @@ export const QueryBuilderTDSPanel = observer(
|
|
|
1138
1138
|
>
|
|
1139
1139
|
<div className="query-builder__projection__result-modifier-prompt__header">
|
|
1140
1140
|
<button
|
|
1141
|
-
className="query-builder__projection__result-modifier-prompt__header__label
|
|
1141
|
+
className="query-builder__projection__result-modifier-prompt__header__label"
|
|
1142
1142
|
onClick={openResultSetModifierEditor}
|
|
1143
|
-
title="Configure
|
|
1143
|
+
title="Configure result set modifiers..."
|
|
1144
1144
|
>
|
|
1145
1145
|
<CogIcon className="query-builder__projection__result-modifier-prompt__header__label__icon" />
|
|
1146
1146
|
<div className="query-builder__projection__result-modifier-prompt__header__label__title">
|
|
1147
|
-
|
|
1148
|
-
? 'Query Options'
|
|
1149
|
-
: 'Set Query Options'}
|
|
1147
|
+
Query Options
|
|
1150
1148
|
</div>
|
|
1151
1149
|
</button>
|
|
1152
|
-
<div className="query-builder__projection__result-modifier-prompt__divider">
|
|
1153
|
-
{tdsState.isQueryOptionsSet && ' - '}
|
|
1154
|
-
</div>
|
|
1155
|
-
{tdsState.queryBuilderState.milestoningState.businessDate && (
|
|
1156
|
-
<div className="query-builder__projection__result-modifier-prompt__group">
|
|
1157
|
-
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1158
|
-
Business Date
|
|
1159
|
-
</div>
|
|
1160
|
-
<button
|
|
1161
|
-
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1162
|
-
onClick={openResultSetModifierEditor}
|
|
1163
|
-
>
|
|
1164
|
-
<div className="query-builder__projection__result-modifier-prompt__header__label__title">
|
|
1165
|
-
{getNameOfValueSpecification(
|
|
1166
|
-
tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
|
|
1167
|
-
tdsState.queryBuilderState.milestoningState
|
|
1168
|
-
.businessDate,
|
|
1169
|
-
) ??
|
|
1170
|
-
tdsState.queryBuilderState.milestoningState
|
|
1171
|
-
.businessDate,
|
|
1172
|
-
tdsState.queryBuilderState,
|
|
1173
|
-
)}
|
|
1174
|
-
</div>
|
|
1175
|
-
</button>
|
|
1176
|
-
</div>
|
|
1177
|
-
)}
|
|
1178
|
-
{tdsState.queryBuilderState.milestoningState.processingDate && (
|
|
1179
|
-
<div className="query-builder__projection__result-modifier-prompt__group">
|
|
1180
|
-
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1181
|
-
Processing Date
|
|
1182
|
-
</div>
|
|
1183
|
-
<button
|
|
1184
|
-
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1185
|
-
onClick={openResultSetModifierEditor}
|
|
1186
|
-
>
|
|
1187
|
-
<div className="query-builder__projection__result-modifier-prompt__header__label__title">
|
|
1188
|
-
{getNameOfValueSpecification(
|
|
1189
|
-
tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
|
|
1190
|
-
tdsState.queryBuilderState.milestoningState
|
|
1191
|
-
.processingDate,
|
|
1192
|
-
) ??
|
|
1193
|
-
tdsState.queryBuilderState.milestoningState
|
|
1194
|
-
.processingDate,
|
|
1195
|
-
tdsState.queryBuilderState,
|
|
1196
|
-
)}
|
|
1197
|
-
</div>
|
|
1198
|
-
</button>
|
|
1199
|
-
</div>
|
|
1200
|
-
)}
|
|
1201
|
-
{tdsState.queryBuilderState.milestoningState
|
|
1202
|
-
.isAllVersionsEnabled &&
|
|
1203
|
-
!tdsState.queryBuilderState.milestoningState
|
|
1204
|
-
.isAllVersionsInRangeEnabled && (
|
|
1205
|
-
<div className="query-builder__projection__result-modifier-prompt__group">
|
|
1206
|
-
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1207
|
-
All Versions
|
|
1208
|
-
</div>
|
|
1209
|
-
<button
|
|
1210
|
-
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1211
|
-
onClick={openResultSetModifierEditor}
|
|
1212
|
-
>
|
|
1213
|
-
<div className="query-builder__projection__result-modifier-prompt__header__label__title">
|
|
1214
|
-
Yes
|
|
1215
|
-
</div>
|
|
1216
|
-
</button>
|
|
1217
|
-
</div>
|
|
1218
|
-
)}
|
|
1219
|
-
{tdsState.queryBuilderState.milestoningState
|
|
1220
|
-
.isAllVersionsInRangeEnabled &&
|
|
1221
|
-
tdsState.queryBuilderState.milestoningState.startDate &&
|
|
1222
|
-
tdsState.queryBuilderState.milestoningState.endDate && (
|
|
1223
|
-
<div className="query-builder__projection__result-modifier-prompt__group">
|
|
1224
|
-
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1225
|
-
All Versions
|
|
1226
|
-
</div>
|
|
1227
|
-
<button
|
|
1228
|
-
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1229
|
-
onClick={openResultSetModifierEditor}
|
|
1230
|
-
>
|
|
1231
|
-
<div className="query-builder__projection__result-modifier-prompt__header__label__title">
|
|
1232
|
-
(
|
|
1233
|
-
{getNameOfValueSpecification(
|
|
1234
|
-
tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
|
|
1235
|
-
tdsState.queryBuilderState.milestoningState
|
|
1236
|
-
.startDate,
|
|
1237
|
-
) ??
|
|
1238
|
-
tdsState.queryBuilderState.milestoningState
|
|
1239
|
-
.startDate,
|
|
1240
|
-
tdsState.queryBuilderState,
|
|
1241
|
-
)}{' '}
|
|
1242
|
-
-{' '}
|
|
1243
|
-
{getNameOfValueSpecification(
|
|
1244
|
-
tdsState.queryBuilderState.milestoningState.getMilestoningParameterValue(
|
|
1245
|
-
tdsState.queryBuilderState.milestoningState.endDate,
|
|
1246
|
-
) ??
|
|
1247
|
-
tdsState.queryBuilderState.milestoningState.endDate,
|
|
1248
|
-
tdsState.queryBuilderState,
|
|
1249
|
-
)}
|
|
1250
|
-
)
|
|
1251
|
-
</div>
|
|
1252
|
-
</button>
|
|
1253
|
-
</div>
|
|
1254
|
-
)}
|
|
1255
1150
|
</div>
|
|
1256
1151
|
{tdsState.resultSetModifierState.limit && (
|
|
1257
1152
|
<div className="query-builder__projection__result-modifier-prompt__group">
|
|
1258
1153
|
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1259
1154
|
Max Rows
|
|
1260
1155
|
</div>
|
|
1261
|
-
<
|
|
1262
|
-
className="query-builder__projection__result-modifier-
|
|
1156
|
+
<div
|
|
1157
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
|
1263
1158
|
onClick={openResultSetModifierEditor}
|
|
1264
1159
|
>
|
|
1265
|
-
|
|
1266
|
-
|
|
1267
|
-
</div>
|
|
1268
|
-
</button>
|
|
1160
|
+
{tdsState.resultSetModifierState.limit}
|
|
1161
|
+
</div>
|
|
1269
1162
|
</div>
|
|
1270
1163
|
)}
|
|
1271
1164
|
{tdsState.resultSetModifierState.distinct && (
|
|
@@ -1273,14 +1166,12 @@ export const QueryBuilderTDSPanel = observer(
|
|
|
1273
1166
|
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1274
1167
|
Eliminate Duplicate Rows
|
|
1275
1168
|
</div>
|
|
1276
|
-
<
|
|
1277
|
-
className="query-builder__projection__result-modifier-
|
|
1169
|
+
<div
|
|
1170
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
|
1278
1171
|
onClick={openResultSetModifierEditor}
|
|
1279
1172
|
>
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
</div>
|
|
1283
|
-
</button>
|
|
1173
|
+
Yes
|
|
1174
|
+
</div>
|
|
1284
1175
|
</div>
|
|
1285
1176
|
)}
|
|
1286
1177
|
{tdsState.resultSetModifierState.sortColumns.length > 0 && (
|
|
@@ -1290,15 +1181,13 @@ export const QueryBuilderTDSPanel = observer(
|
|
|
1290
1181
|
</div>
|
|
1291
1182
|
{tdsState.resultSetModifierState.sortColumns.map(
|
|
1292
1183
|
(columnState) => (
|
|
1293
|
-
<
|
|
1184
|
+
<div
|
|
1185
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
|
1294
1186
|
key={columnState.columnState.uuid}
|
|
1295
|
-
className="query-builder__projection__result-modifier-prompt__header__label editable-value"
|
|
1296
1187
|
onClick={openResultSetModifierEditor}
|
|
1297
1188
|
>
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
</div>
|
|
1301
|
-
</button>
|
|
1189
|
+
{`${columnState.columnState.columnName} ${columnState.sortType}`}
|
|
1190
|
+
</div>
|
|
1302
1191
|
),
|
|
1303
1192
|
)}
|
|
1304
1193
|
</div>
|
|
@@ -1308,14 +1197,12 @@ export const QueryBuilderTDSPanel = observer(
|
|
|
1308
1197
|
<div className="query-builder__projection__result-modifier-prompt__group__label">
|
|
1309
1198
|
Slice
|
|
1310
1199
|
</div>
|
|
1311
|
-
<
|
|
1312
|
-
className="query-builder__projection__result-modifier-
|
|
1200
|
+
<div
|
|
1201
|
+
className="query-builder__projection__result-modifier-prompt__group__content"
|
|
1313
1202
|
onClick={openResultSetModifierEditor}
|
|
1314
1203
|
>
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
</div>
|
|
1318
|
-
</button>
|
|
1204
|
+
{`${tdsState.resultSetModifierState.slice[0]},${tdsState.resultSetModifierState.slice[1]}`}
|
|
1205
|
+
</div>
|
|
1319
1206
|
</div>
|
|
1320
1207
|
)}
|
|
1321
1208
|
{tdsState.queryBuilderState.watermarkState.value && (
|
|
@@ -204,15 +204,7 @@ export const QueryBuilderResultPanel = observer(
|
|
|
204
204
|
const runQuery = (): void => {
|
|
205
205
|
resultState.setSelectedCells([]);
|
|
206
206
|
resultState.pressedRunQuery.inProgress();
|
|
207
|
-
if (
|
|
208
|
-
queryParametersState.parameterStates.length &&
|
|
209
|
-
queryParametersState.parameterStates.find(
|
|
210
|
-
(param) =>
|
|
211
|
-
!queryBuilderState.milestoningState.isMilestoningParameter(
|
|
212
|
-
param.parameter,
|
|
213
|
-
),
|
|
214
|
-
)
|
|
215
|
-
) {
|
|
207
|
+
if (queryParametersState.parameterStates.length) {
|
|
216
208
|
queryParametersState.parameterValuesEditorState.open(
|
|
217
209
|
(): Promise<void> =>
|
|
218
210
|
flowResult(resultState.runQuery()).catch(
|
|
@@ -727,16 +727,26 @@ const PrimitiveCollectionInstanceValueEditor = observer(
|
|
|
727
727
|
const convertInputValueToValueSpec = (): ValueSpecification | null => {
|
|
728
728
|
const trimmedInputValue = inputValue.trim();
|
|
729
729
|
|
|
730
|
-
if (isValueAlreadySelected(trimmedInputValue)) {
|
|
731
|
-
return null;
|
|
732
|
-
}
|
|
733
|
-
|
|
734
730
|
if (trimmedInputValue.length) {
|
|
735
|
-
|
|
731
|
+
const newValueSpec = convertTextToPrimitiveInstanceValue(
|
|
736
732
|
expectedType,
|
|
737
733
|
trimmedInputValue,
|
|
738
734
|
observerContext,
|
|
739
735
|
);
|
|
736
|
+
|
|
737
|
+
if (
|
|
738
|
+
newValueSpec === null ||
|
|
739
|
+
getValueSpecificationStringValue(newValueSpec) === undefined ||
|
|
740
|
+
isValueAlreadySelected(
|
|
741
|
+
guaranteeNonNullable(
|
|
742
|
+
getValueSpecificationStringValue(newValueSpec),
|
|
743
|
+
),
|
|
744
|
+
)
|
|
745
|
+
) {
|
|
746
|
+
return null;
|
|
747
|
+
}
|
|
748
|
+
|
|
749
|
+
return newValueSpec;
|
|
740
750
|
}
|
|
741
751
|
return null;
|
|
742
752
|
};
|
|
@@ -830,19 +840,20 @@ const PrimitiveCollectionInstanceValueEditor = observer(
|
|
|
830
840
|
if (!parsedData) {
|
|
831
841
|
return;
|
|
832
842
|
}
|
|
833
|
-
const newValues = uniq(
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
843
|
+
const newValues = uniq(
|
|
844
|
+
uniq(parsedData)
|
|
845
|
+
.map((value) => {
|
|
846
|
+
const newValueSpec = convertTextToPrimitiveInstanceValue(
|
|
847
|
+
expectedType,
|
|
848
|
+
value,
|
|
849
|
+
observerContext,
|
|
850
|
+
);
|
|
851
|
+
return newValueSpec
|
|
852
|
+
? getValueSpecificationStringValue(newValueSpec)
|
|
853
|
+
: null;
|
|
854
|
+
})
|
|
855
|
+
.filter(isNonNullable),
|
|
856
|
+
).filter((value) => !isValueAlreadySelected(value));
|
|
846
857
|
setSelectedOptions([
|
|
847
858
|
...selectedOptions,
|
|
848
859
|
...newValues.map((value) => ({ label: value, value })),
|
|
@@ -149,18 +149,6 @@ export const VariableViewer = observer(
|
|
|
149
149
|
const variableTypeName =
|
|
150
150
|
variable.genericType?.value.rawType.name ??
|
|
151
151
|
(isConstant ? CALCULATED : undefined);
|
|
152
|
-
const isMilestoningParameter =
|
|
153
|
-
queryBuilderState.milestoningState.isMilestoningParameter(variable);
|
|
154
|
-
const milestoningParameterValue =
|
|
155
|
-
queryBuilderState.milestoningState.getMilestoningParameterValue(variable);
|
|
156
|
-
const milestoningParameterValueString = isMilestoningParameter
|
|
157
|
-
? milestoningParameterValue
|
|
158
|
-
? getNameOfValueSpecification(
|
|
159
|
-
milestoningParameterValue,
|
|
160
|
-
queryBuilderState,
|
|
161
|
-
)
|
|
162
|
-
: undefined
|
|
163
|
-
: undefined;
|
|
164
152
|
const deleteDisabled = isReadOnly || isVariableUsed;
|
|
165
153
|
const deleteTitle = isVariableUsed ? 'Used in query' : 'Remove';
|
|
166
154
|
const editVariable = (): void => {
|
|
@@ -239,16 +227,6 @@ export const VariableViewer = observer(
|
|
|
239
227
|
<div className="query-builder__variables__variable__type__label">
|
|
240
228
|
{variableTypeName ?? 'unknown'}
|
|
241
229
|
</div>
|
|
242
|
-
{isMilestoningParameter && (
|
|
243
|
-
<>
|
|
244
|
-
<div className="query-builder__variables__variable__type__label query-builder__variables__variable__type__label--milestoning">
|
|
245
|
-
milestoning
|
|
246
|
-
</div>
|
|
247
|
-
<div className="query-builder__constants__value">
|
|
248
|
-
{milestoningParameterValueString}
|
|
249
|
-
</div>
|
|
250
|
-
</>
|
|
251
|
-
)}
|
|
252
230
|
</div>
|
|
253
231
|
)}
|
|
254
232
|
</div>
|
|
@@ -161,8 +161,7 @@ export const generateValueSpecificationForParameter = (
|
|
|
161
161
|
return createNullishValue(graph);
|
|
162
162
|
};
|
|
163
163
|
|
|
164
|
-
|
|
165
|
-
export const fillDerivedPropertyParameterValues = (
|
|
164
|
+
const fillDerivedPropertyParameterValues = (
|
|
166
165
|
derivedPropertyExpressionState: QueryBuilderDerivedPropertyExpressionState,
|
|
167
166
|
): void => {
|
|
168
167
|
const parameterValues: ValueSpecification[] =
|
|
@@ -110,8 +110,6 @@ import type { QueryBuilderConfig } from '../graph-manager/QueryBuilderConfig.js'
|
|
|
110
110
|
import { QUERY_BUILDER_EVENT } from '../__lib__/QueryBuilderEvent.js';
|
|
111
111
|
import { QueryBuilderChangeHistoryState } from './QueryBuilderChangeHistoryState.js';
|
|
112
112
|
import { type QueryBuilderWorkflowState } from './query-workflow/QueryBuilderWorkFlowState.js';
|
|
113
|
-
import { initializeMilestoningStateFromDerivedProperty } from './milestoning/QueryBuilderMilestoningHelper.js';
|
|
114
|
-
import { QueryBuilderSimpleProjectionColumnState } from './fetch-structure/tds/projection/QueryBuilderProjectionColumnState.js';
|
|
115
113
|
|
|
116
114
|
export interface QuerySDLC {}
|
|
117
115
|
|
|
@@ -699,18 +697,6 @@ export abstract class QueryBuilderState implements CommandRegistrar {
|
|
|
699
697
|
);
|
|
700
698
|
}
|
|
701
699
|
if (this.parametersState.parameterStates.length > 0) {
|
|
702
|
-
const fetchStructureStateImp = this.fetchStructureState.implementation;
|
|
703
|
-
if (fetchStructureStateImp instanceof QueryBuilderTDSState) {
|
|
704
|
-
fetchStructureStateImp.projectionColumns.forEach((colState) => {
|
|
705
|
-
if (colState instanceof QueryBuilderSimpleProjectionColumnState) {
|
|
706
|
-
colState.propertyExpressionState.derivedPropertyExpressionStates.forEach(
|
|
707
|
-
(state) => {
|
|
708
|
-
initializeMilestoningStateFromDerivedProperty(state);
|
|
709
|
-
},
|
|
710
|
-
);
|
|
711
|
-
}
|
|
712
|
-
});
|
|
713
|
-
}
|
|
714
700
|
this.setShowParametersPanel(true);
|
|
715
701
|
}
|
|
716
702
|
this.fetchStructureState.initializeWithQuery();
|
|
@@ -146,7 +146,6 @@ export class QueryBuilderTDSState
|
|
|
146
146
|
TEMPORARY__showPostFetchStructurePanel: computed,
|
|
147
147
|
derivations: computed,
|
|
148
148
|
hasParserError: computed,
|
|
149
|
-
isQueryOptionsSet: computed,
|
|
150
149
|
addColumn: action,
|
|
151
150
|
moveColumn: action,
|
|
152
151
|
removeAllColumns: action,
|
|
@@ -357,16 +356,6 @@ export class QueryBuilderTDSState
|
|
|
357
356
|
return fetchStructureValidationIssues;
|
|
358
357
|
}
|
|
359
358
|
|
|
360
|
-
get isQueryOptionsSet(): boolean {
|
|
361
|
-
return (
|
|
362
|
-
this.resultSetModifierState.limit !== undefined ||
|
|
363
|
-
this.queryBuilderState.milestoningState.isMilestonedQuery ||
|
|
364
|
-
this.resultSetModifierState.slice !== undefined ||
|
|
365
|
-
this.resultSetModifierState.sortColumns.length > 0 ||
|
|
366
|
-
this.resultSetModifierState.distinct
|
|
367
|
-
);
|
|
368
|
-
}
|
|
369
|
-
|
|
370
359
|
get tdsColumns(): QueryBuilderTDSColumnState[] {
|
|
371
360
|
const aggregationStateCols = this.aggregationState.columns.map(
|
|
372
361
|
(c) => c.projectionColumnState,
|
|
@@ -290,30 +290,6 @@ export const generateMilestonedPropertyParameterValue = (
|
|
|
290
290
|
);
|
|
291
291
|
};
|
|
292
292
|
|
|
293
|
-
export const initializeMilestoningStateFromDerivedProperty = (
|
|
294
|
-
derivedPropertyExpressionState: QueryBuilderDerivedPropertyExpressionState,
|
|
295
|
-
): void => {
|
|
296
|
-
const milestoningState =
|
|
297
|
-
derivedPropertyExpressionState.queryBuilderState.milestoningState;
|
|
298
|
-
const temporalTarget =
|
|
299
|
-
derivedPropertyExpressionState.propertyExpression.func.value.genericType
|
|
300
|
-
.value.rawType instanceof Class &&
|
|
301
|
-
derivedPropertyExpressionState.propertyExpression.func.value._OWNER
|
|
302
|
-
._generatedMilestonedProperties.length !== 0
|
|
303
|
-
? getMilestoneTemporalStereotype(
|
|
304
|
-
derivedPropertyExpressionState.propertyExpression.func.value
|
|
305
|
-
.genericType.value.rawType,
|
|
306
|
-
derivedPropertyExpressionState.queryBuilderState.graphManagerState
|
|
307
|
-
.graph,
|
|
308
|
-
)
|
|
309
|
-
: undefined;
|
|
310
|
-
if (temporalTarget) {
|
|
311
|
-
milestoningState
|
|
312
|
-
.getMilestoningImplementation(temporalTarget)
|
|
313
|
-
.initializeMilestoningParameters();
|
|
314
|
-
}
|
|
315
|
-
};
|
|
316
|
-
|
|
317
293
|
export const validateMilestoningPropertyExpressionChain = (
|
|
318
294
|
sourceStereotype: MILESTONING_STEREOTYPE | undefined,
|
|
319
295
|
targetStereotype: MILESTONING_STEREOTYPE,
|
|
@@ -75,7 +75,7 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
75
75
|
startDate: observable,
|
|
76
76
|
endDate: observable,
|
|
77
77
|
showMilestoningEditor: observable,
|
|
78
|
-
|
|
78
|
+
isMilestonedQuery: computed,
|
|
79
79
|
setProcessingDate: action,
|
|
80
80
|
setBusinessDate: action,
|
|
81
81
|
setStartDate: action,
|
|
@@ -87,10 +87,6 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
87
87
|
initializeAllVersionsInRangeParameters: action,
|
|
88
88
|
clearAllVersionsInRangeParameters: action,
|
|
89
89
|
clearGetAllParameters: action,
|
|
90
|
-
|
|
91
|
-
isAllVersionsEnabled: computed,
|
|
92
|
-
isAllVersionsInRangeEnabled: computed,
|
|
93
|
-
isMilestonedQuery: computed,
|
|
94
90
|
hashCode: computed,
|
|
95
91
|
});
|
|
96
92
|
|
|
@@ -384,9 +380,9 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
384
380
|
this.queryBuilderState.parametersState.parameterStates.find(
|
|
385
381
|
(p) => p.parameter === this.startDate,
|
|
386
382
|
);
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
383
|
+
this.queryBuilderState.parametersState.removeParameter(
|
|
384
|
+
guaranteeNonNullable(paramState),
|
|
385
|
+
);
|
|
390
386
|
}
|
|
391
387
|
if (
|
|
392
388
|
this.endDate instanceof VariableExpression &&
|
|
@@ -398,9 +394,9 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
398
394
|
this.queryBuilderState.parametersState.parameterStates.find(
|
|
399
395
|
(p) => p.parameter === this.endDate,
|
|
400
396
|
);
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
397
|
+
this.queryBuilderState.parametersState.removeParameter(
|
|
398
|
+
guaranteeNonNullable(paramState),
|
|
399
|
+
);
|
|
404
400
|
}
|
|
405
401
|
this.setStartDate(undefined);
|
|
406
402
|
this.setEndDate(undefined);
|
|
@@ -451,33 +447,6 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
451
447
|
return milestoningParameter;
|
|
452
448
|
}
|
|
453
449
|
|
|
454
|
-
updateMilestoningParameterValue(
|
|
455
|
-
parameter: VariableExpression,
|
|
456
|
-
value: ValueSpecification | undefined,
|
|
457
|
-
): void {
|
|
458
|
-
const variableState =
|
|
459
|
-
this.queryBuilderState.parametersState.parameterStates.find(
|
|
460
|
-
(param) => param.parameter.name === parameter.name,
|
|
461
|
-
);
|
|
462
|
-
if (variableState) {
|
|
463
|
-
variableState.setValue(value);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
|
|
467
|
-
getMilestoningParameterValue(
|
|
468
|
-
milestoningParameter: ValueSpecification,
|
|
469
|
-
): ValueSpecification | undefined {
|
|
470
|
-
let value: ValueSpecification | undefined = milestoningParameter;
|
|
471
|
-
if (milestoningParameter instanceof VariableExpression) {
|
|
472
|
-
const paramState =
|
|
473
|
-
this.queryBuilderState.parametersState.parameterStates.find(
|
|
474
|
-
(param) => param.parameter.name === milestoningParameter.name,
|
|
475
|
-
);
|
|
476
|
-
value = paramState?.value;
|
|
477
|
-
}
|
|
478
|
-
return value;
|
|
479
|
-
}
|
|
480
|
-
|
|
481
450
|
isVariableUsed(variable: VariableExpression): boolean {
|
|
482
451
|
const usedInBusiness = this.businessDate
|
|
483
452
|
? isValueExpressionReferencedInValue(variable, this.businessDate)
|
|
@@ -488,33 +457,6 @@ export class QueryBuilderMilestoningState implements Hashable {
|
|
|
488
457
|
return usedInBusiness || usedInProcessingDate;
|
|
489
458
|
}
|
|
490
459
|
|
|
491
|
-
isMilestoningParameter(parameter: VariableExpression): boolean {
|
|
492
|
-
let isMilestoningParameter = false;
|
|
493
|
-
if (this.businessDate instanceof VariableExpression) {
|
|
494
|
-
isMilestoningParameter =
|
|
495
|
-
parameter.name ===
|
|
496
|
-
guaranteeType(this.businessDate, VariableExpression).name;
|
|
497
|
-
}
|
|
498
|
-
if (this.processingDate instanceof VariableExpression) {
|
|
499
|
-
isMilestoningParameter =
|
|
500
|
-
isMilestoningParameter ||
|
|
501
|
-
parameter.name ===
|
|
502
|
-
guaranteeType(this.processingDate, VariableExpression).name;
|
|
503
|
-
}
|
|
504
|
-
if (this.startDate instanceof VariableExpression) {
|
|
505
|
-
isMilestoningParameter =
|
|
506
|
-
isMilestoningParameter ||
|
|
507
|
-
parameter.name ===
|
|
508
|
-
guaranteeType(this.startDate, VariableExpression).name;
|
|
509
|
-
}
|
|
510
|
-
if (this.endDate instanceof VariableExpression) {
|
|
511
|
-
isMilestoningParameter =
|
|
512
|
-
isMilestoningParameter ||
|
|
513
|
-
parameter.name === guaranteeType(this.endDate, VariableExpression).name;
|
|
514
|
-
}
|
|
515
|
-
return isMilestoningParameter;
|
|
516
|
-
}
|
|
517
|
-
|
|
518
460
|
get hashCode(): string {
|
|
519
461
|
return hashArray([
|
|
520
462
|
QUERY_BUILDER_STATE_HASH_STRUCTURE.MILESTONING_STATE,
|