@finos/legend-query-builder 4.14.41 → 4.14.43
Sign up to get free protection for your applications and to get access to all the features.
- 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,
|