@finos/legend-query-builder 3.2.11 → 4.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +5 -4
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderTextEditor.js +1 -1
- package/lib/components/QueryBuilderTextEditor.js.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js +5 -3
- package/lib/components/explorer/QueryBuilderFunctionsExplorerPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js +2 -2
- package/lib/components/fetch-structure/QueryBuilderTDSPanel.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.js +1 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -1
- package/lib/components/shared/LambdaEditor.d.ts +18 -19
- package/lib/components/shared/LambdaEditor.d.ts.map +1 -1
- package/lib/components/shared/LambdaEditor.js +30 -19
- package/lib/components/shared/LambdaEditor.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js +20 -4
- package/lib/graph-manager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.js.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js +54 -27
- package/lib/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +2 -2
- package/lib/stores/QueryBuilderStateBuilder.d.ts +1 -1
- package/lib/stores/QueryBuilderStateBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +6 -7
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +1 -0
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.d.ts +3 -3
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.js +18 -4
- package/lib/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.js +1 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.d.ts +2 -2
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.js.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js +2 -2
- package/lib/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/shared/LambdaEditorState.d.ts.map +1 -1
- package/lib/stores/shared/LambdaEditorState.js.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -1
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +1 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -1
- package/lib/stores/workflows/ClassQueryBuilderState.d.ts +5 -5
- package/lib/stores/workflows/ClassQueryBuilderState.js +6 -6
- package/lib/stores/workflows/MappingQueryBuilderState.d.ts +4 -4
- package/lib/stores/workflows/MappingQueryBuilderState.js +4 -4
- package/lib/stores/workflows/ServiceQueryBuilderState.d.ts +2 -2
- package/lib/stores/workflows/ServiceQueryBuilderState.js +2 -2
- package/package.json +10 -10
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +7 -8
- package/src/components/QueryBuilderTextEditor.tsx +1 -4
- package/src/components/explorer/QueryBuilderFunctionsExplorerPanel.tsx +5 -3
- package/src/components/fetch-structure/QueryBuilderTDSPanel.tsx +2 -2
- package/src/components/shared/BasicValueSpecificationEditor.tsx +1 -0
- package/src/components/shared/LambdaEditor.tsx +126 -79
- package/src/graph-manager/protocol/pure/v1/V1_QueryBuilder_PureGraphManagerExtension.ts +35 -23
- package/src/graph-manager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.ts +205 -83
- package/src/stores/QueryBuilderStateBuilder.ts +15 -19
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +1 -0
- package/src/stores/fetch-structure/tds/aggregation/QueryBuilderAggregateCalendarFunction.ts +44 -12
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunctionValueSpecificationBuilder.ts +5 -12
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Annualized.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cme.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cw_Fm.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus2.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Cy_Minus3.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Mtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wa.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P12Wtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wa.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P4Wtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wa.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_P52Wtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pma.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pmtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pqtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorDay.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_PriorYear.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pw_Fm.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwa.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pwtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pymtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pyqtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pytd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywa.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Pywtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Qtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_ReportEndDay.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Wtd.ts +2 -1
- package/src/stores/fetch-structure/tds/aggregation/calendarFunctions/QueryBuilderAggregateCalendarFunction_Ytd.ts +2 -1
- package/src/stores/fetch-structure/tds/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +2 -1
- package/src/stores/shared/LambdaEditorState.ts +1 -0
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +1 -0
- package/src/stores/workflows/ClassQueryBuilderState.ts +6 -6
- package/src/stores/workflows/MappingQueryBuilderState.ts +4 -4
- package/src/stores/workflows/ServiceQueryBuilderState.ts +2 -2
@@ -28,10 +28,10 @@ export class MappingQueryBuilderState extends QueryBuilderState {
|
|
28
28
|
}
|
29
29
|
/**
|
30
30
|
* Propagation after changing the mapping:
|
31
|
-
* - If no runtime is
|
32
|
-
* - If the chosen runtime is compatible with the new
|
33
|
-
* - If no class is
|
34
|
-
* - If the chosen class is compatible with the new
|
31
|
+
* - If no runtime is chosen, try to choose a compatible runtime
|
32
|
+
* - If the chosen runtime is compatible with the new chosen mapping, do nothing, otherwise, try to choose a compatible runtime
|
33
|
+
* - If no class is chosen, try to choose a compatible class
|
34
|
+
* - If the chosen class is compatible with the new chosen mapping, do nothing, otherwise, try to choose a compatible class
|
35
35
|
*/
|
36
36
|
propagateMappingChange(mapping) {
|
37
37
|
// try to select the first compatible runtime,
|
@@ -38,8 +38,8 @@ export declare class ServiceQueryBuilderState extends QueryBuilderState {
|
|
38
38
|
* Propagation after changing the execution context:
|
39
39
|
* - The mapping will be updated to the mapping of the execution context
|
40
40
|
* - The runtime will be updated to the default runtime of the execution context
|
41
|
-
* - If no class is
|
42
|
-
* - If the chosen class is compatible with the new
|
41
|
+
* - If no class is chosen, try to choose a compatible class
|
42
|
+
* - If the chosen class is compatible with the new chosen mapping, do nothing, otherwise, try to choose a compatible class
|
43
43
|
*/
|
44
44
|
propagateExecutionContextChange(executionContext: ServiceExecutionContext): void;
|
45
45
|
}
|
@@ -82,8 +82,8 @@ export class ServiceQueryBuilderState extends QueryBuilderState {
|
|
82
82
|
* Propagation after changing the execution context:
|
83
83
|
* - The mapping will be updated to the mapping of the execution context
|
84
84
|
* - The runtime will be updated to the default runtime of the execution context
|
85
|
-
* - If no class is
|
86
|
-
* - If the chosen class is compatible with the new
|
85
|
+
* - If no class is chosen, try to choose a compatible class
|
86
|
+
* - If the chosen class is compatible with the new chosen mapping, do nothing, otherwise, try to choose a compatible class
|
87
87
|
*/
|
88
88
|
propagateExecutionContextChange(executionContext) {
|
89
89
|
const mapping = executionContext.mapping;
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@finos/legend-query-builder",
|
3
|
-
"version": "
|
3
|
+
"version": "4.0.0",
|
4
4
|
"description": "Legend query builder core",
|
5
5
|
"keywords": [
|
6
6
|
"legend",
|
@@ -42,13 +42,13 @@
|
|
42
42
|
"test:watch": "jest --watch"
|
43
43
|
},
|
44
44
|
"dependencies": {
|
45
|
-
"@finos/legend-application": "15.0.
|
46
|
-
"@finos/legend-art": "7.0.
|
47
|
-
"@finos/legend-graph": "29.0.
|
48
|
-
"@finos/legend-lego": "1.0.
|
49
|
-
"@finos/legend-server-depot": "6.0.
|
50
|
-
"@finos/legend-shared": "10.0.
|
51
|
-
"@finos/legend-storage": "3.0.
|
45
|
+
"@finos/legend-application": "15.0.15",
|
46
|
+
"@finos/legend-art": "7.0.16",
|
47
|
+
"@finos/legend-graph": "29.0.3",
|
48
|
+
"@finos/legend-lego": "1.0.10",
|
49
|
+
"@finos/legend-server-depot": "6.0.8",
|
50
|
+
"@finos/legend-shared": "10.0.7",
|
51
|
+
"@finos/legend-storage": "3.0.57",
|
52
52
|
"@testing-library/react": "14.0.0",
|
53
53
|
"@types/react": "18.2.6",
|
54
54
|
"@types/react-dom": "18.2.4",
|
@@ -65,13 +65,13 @@
|
|
65
65
|
"sql-formatter": "12.2.0"
|
66
66
|
},
|
67
67
|
"devDependencies": {
|
68
|
-
"@finos/legend-dev-utils": "2.0.
|
68
|
+
"@finos/legend-dev-utils": "2.0.62",
|
69
69
|
"@jest/globals": "29.5.0",
|
70
70
|
"cross-env": "7.0.3",
|
71
71
|
"eslint": "8.40.0",
|
72
72
|
"jest": "29.5.0",
|
73
73
|
"npm-run-all": "4.1.5",
|
74
|
-
"rimraf": "5.0.
|
74
|
+
"rimraf": "5.0.1",
|
75
75
|
"sass": "1.62.1",
|
76
76
|
"typescript": "5.0.4"
|
77
77
|
},
|
@@ -311,16 +311,15 @@ export const QueryBuilderPropertyExpressionEditor = observer(
|
|
311
311
|
): boolean =>
|
312
312
|
Boolean(
|
313
313
|
derivedProperties.find((dp) => {
|
314
|
-
|
314
|
+
const variableType = variable.genericType?.value.rawType;
|
315
|
+
if (!variableType) {
|
315
316
|
return false;
|
316
317
|
}
|
317
|
-
return (
|
318
|
-
|
319
|
-
|
320
|
-
|
321
|
-
|
322
|
-
dp.derivedProperty.genericType.value.rawType.name ===
|
323
|
-
variable.genericType.value.rawType.name
|
318
|
+
return dp.parameters.some(
|
319
|
+
(p) =>
|
320
|
+
p.genericType &&
|
321
|
+
(isSuperType(variableType, p.genericType.value.rawType) ||
|
322
|
+
p.genericType.value.rawType.name === variableType.name),
|
324
323
|
);
|
325
324
|
}),
|
326
325
|
);
|
@@ -101,10 +101,7 @@ export const QueryBuilderTextEditor = observer(
|
|
101
101
|
disabled={queryTextEditorState.isConvertingLambdaToString}
|
102
102
|
lambdaEditorState={queryTextEditorState}
|
103
103
|
forceBackdrop={false}
|
104
|
-
|
105
|
-
useBaseTextEditorSettings={true}
|
106
|
-
hideErrorBar={true}
|
107
|
-
disablePopUp={true}
|
104
|
+
autoFocus={true}
|
108
105
|
/>
|
109
106
|
)}
|
110
107
|
{mode === QueryBuilderTextEditorMode.JSON && (
|
@@ -157,7 +157,9 @@ const QueryBuilderFunctionsExplorerListEntry = observer(
|
|
157
157
|
element,
|
158
158
|
rootPackageName,
|
159
159
|
);
|
160
|
-
const functionPrettyName = generateFunctionPrettyName(element,
|
160
|
+
const functionPrettyName = generateFunctionPrettyName(element, {
|
161
|
+
fullPath: true,
|
162
|
+
});
|
161
163
|
const [, dragConnector, dragPreviewConnector] = useDrag(
|
162
164
|
() => ({
|
163
165
|
type: QUERY_BUILDER_FUNCTION_DND_TYPE,
|
@@ -212,7 +214,7 @@ const QueryBuilderFunctionsExplorerTreeNodeContainer = observer(
|
|
212
214
|
const isPackage = node.packageableElement instanceof Package;
|
213
215
|
const name =
|
214
216
|
node.packageableElement instanceof ConcreteFunctionDefinition
|
215
|
-
? generateFunctionPrettyName(node.packageableElement
|
217
|
+
? generateFunctionPrettyName(node.packageableElement)
|
216
218
|
: node.packageableElement.name;
|
217
219
|
const isExpandable = Boolean(node.childrenIds.length);
|
218
220
|
const nodeExpandIcon = isExpandable ? (
|
@@ -484,7 +486,7 @@ export const QueryBuilderFunctionsExplorerPanel = observer(
|
|
484
486
|
): string =>
|
485
487
|
generateFunctionPrettyName(
|
486
488
|
item.node.packageableElement as ConcreteFunctionDefinition,
|
487
|
-
true,
|
489
|
+
{ fullPath: true },
|
488
490
|
)
|
489
491
|
}
|
490
492
|
types={[QUERY_BUILDER_FUNCTION_DND_TYPE]}
|
@@ -86,7 +86,7 @@ import {
|
|
86
86
|
import { DEFAULT_LAMBDA_VARIABLE_NAME } from '../../stores/QueryBuilderConfig.js';
|
87
87
|
import type { QueryBuilderAggregateOperator } from '../../stores/fetch-structure/tds/aggregation/QueryBuilderAggregateOperator.js';
|
88
88
|
import type { QueryBuilderTDSState } from '../../stores/fetch-structure/tds/QueryBuilderTDSState.js';
|
89
|
-
import {
|
89
|
+
import { InlineLambdaEditor } from '../shared/LambdaEditor.js';
|
90
90
|
import {
|
91
91
|
type QueryBuilderVariableDragSource,
|
92
92
|
QUERY_BUILDER_VARIABLE_DND_TYPE,
|
@@ -235,7 +235,7 @@ const QueryBuilderDerivationProjectionColumnEditor = observer(
|
|
235
235
|
{ backdrop__element: hasParserError },
|
236
236
|
)}
|
237
237
|
>
|
238
|
-
<
|
238
|
+
<InlineLambdaEditor
|
239
239
|
className="query-builder__lambda-editor"
|
240
240
|
disabled={
|
241
241
|
projectionColumnState.tdsState.isConvertDerivationProjectionObjects
|
@@ -906,6 +906,7 @@ export const BasicValueSpecificationEditor: React.FC<{
|
|
906
906
|
case PRIMITIVE_TYPE.FLOAT:
|
907
907
|
case PRIMITIVE_TYPE.DECIMAL:
|
908
908
|
case PRIMITIVE_TYPE.BINARY:
|
909
|
+
case PRIMITIVE_TYPE.BYTE:
|
909
910
|
case PRIMITIVE_TYPE.INTEGER:
|
910
911
|
return (
|
911
912
|
<NumberPrimitiveInstanceValueEditor
|
@@ -54,7 +54,7 @@ import {
|
|
54
54
|
} from '@finos/legend-application';
|
55
55
|
import { QUERY_BUILDER_TEST_ID } from '../../__lib__/QueryBuilderTesting.js';
|
56
56
|
|
57
|
-
const
|
57
|
+
const LambdaEditor_ErrorFeedback: React.FC<{
|
58
58
|
error?: EngineError | undefined;
|
59
59
|
discardChanges: () => void;
|
60
60
|
}> = (props) => {
|
@@ -83,23 +83,24 @@ const LambdaErrorFeedback: React.FC<{
|
|
83
83
|
);
|
84
84
|
};
|
85
85
|
|
86
|
-
const
|
86
|
+
const LambdaEditor_Inner = observer(
|
87
87
|
(props: {
|
88
88
|
className?: string | undefined;
|
89
89
|
disabled: boolean;
|
90
|
+
inline?: boolean | undefined;
|
90
91
|
lambdaEditorState: LambdaEditorState;
|
91
92
|
transformStringToLambda: DebouncedFunc<() => GeneratorFn<void>> | undefined;
|
92
93
|
expectedType?: Type | undefined;
|
93
94
|
matchedExpectedType?: (() => boolean) | undefined;
|
94
95
|
onExpectedTypeLabelSelect?: (() => void) | undefined;
|
95
|
-
useBaseTextEditorSettings?: boolean | undefined;
|
96
96
|
hideErrorBar?: boolean | undefined;
|
97
97
|
forceBackdrop: boolean;
|
98
|
-
disableExpansion?: boolean | undefined;
|
99
|
-
forceExpansion?: boolean | undefined;
|
100
98
|
disablePopUp?: boolean | undefined;
|
101
|
-
|
99
|
+
autoFocus?: boolean | undefined;
|
100
|
+
openInPopUp?: (() => void) | undefined;
|
102
101
|
onEditorFocus?: (() => void) | undefined;
|
102
|
+
disableExpansion?: boolean | undefined;
|
103
|
+
forceExpansion?: boolean | undefined;
|
103
104
|
}) => {
|
104
105
|
const {
|
105
106
|
className,
|
@@ -113,8 +114,9 @@ const LambdaEditorInline = observer(
|
|
113
114
|
disableExpansion,
|
114
115
|
forceExpansion,
|
115
116
|
disablePopUp,
|
116
|
-
|
117
|
+
inline,
|
117
118
|
hideErrorBar,
|
119
|
+
autoFocus,
|
118
120
|
openInPopUp,
|
119
121
|
onEditorFocus,
|
120
122
|
} = props;
|
@@ -157,9 +159,8 @@ const LambdaEditorInline = observer(
|
|
157
159
|
if (!editor && textInputRef.current) {
|
158
160
|
const element = textInputRef.current;
|
159
161
|
const lambdaEditorOptions: monacoEditorAPI.IStandaloneEditorConstructionOptions =
|
160
|
-
|
161
|
-
? {
|
162
|
-
: {
|
162
|
+
inline
|
163
|
+
? {
|
163
164
|
renderLineHighlight: 'none',
|
164
165
|
lineHeight: 24,
|
165
166
|
overviewRulerBorder: false, // hide overview ruler (no current way to hide this completely yet)
|
@@ -173,6 +174,9 @@ const LambdaEditorInline = observer(
|
|
173
174
|
lineDecorationsWidth: 5,
|
174
175
|
snippetSuggestions: 'none',
|
175
176
|
scrollbar: { vertical: 'hidden' },
|
177
|
+
}
|
178
|
+
: {
|
179
|
+
padding: { top: 20, bottom: 20 },
|
176
180
|
};
|
177
181
|
const _editor = monacoEditorAPI.create(element, {
|
178
182
|
...getBaseCodeEditorOptions(),
|
@@ -185,7 +189,7 @@ const LambdaEditorInline = observer(
|
|
185
189
|
});
|
186
190
|
setEditor(_editor);
|
187
191
|
}
|
188
|
-
}, [editor, applicationStore,
|
192
|
+
}, [editor, applicationStore, inline]);
|
189
193
|
|
190
194
|
// set styling for expanded mode
|
191
195
|
useEffect(() => {
|
@@ -313,6 +317,13 @@ const LambdaEditorInline = observer(
|
|
313
317
|
}
|
314
318
|
}
|
315
319
|
|
320
|
+
// auto-focus
|
321
|
+
useEffect(() => {
|
322
|
+
if (editor && autoFocus) {
|
323
|
+
editor.focus();
|
324
|
+
}
|
325
|
+
}, [autoFocus, editor]);
|
326
|
+
|
316
327
|
// dispose editor
|
317
328
|
useEffect(
|
318
329
|
() => (): void => {
|
@@ -388,14 +399,14 @@ const LambdaEditorInline = observer(
|
|
388
399
|
onClick={openInPopUp}
|
389
400
|
disabled={Boolean(parserError)}
|
390
401
|
tabIndex={-1}
|
391
|
-
title="Open..."
|
402
|
+
title="Open in a popup..."
|
392
403
|
>
|
393
404
|
<FilledWindowMaximizeIcon />
|
394
405
|
</button>
|
395
406
|
)}
|
396
407
|
</div>
|
397
408
|
{!hideErrorBar && (
|
398
|
-
<
|
409
|
+
<LambdaEditor_ErrorFeedback
|
399
410
|
error={parserError ?? compilationError}
|
400
411
|
discardChanges={discardChanges}
|
401
412
|
/>
|
@@ -405,7 +416,7 @@ const LambdaEditorInline = observer(
|
|
405
416
|
},
|
406
417
|
);
|
407
418
|
|
408
|
-
const
|
419
|
+
const LambdaEditor_PopUp = observer(
|
409
420
|
(props: {
|
410
421
|
className?: string | undefined;
|
411
422
|
disabled: boolean;
|
@@ -625,63 +636,61 @@ const LambdaEditorPopUp = observer(
|
|
625
636
|
},
|
626
637
|
);
|
627
638
|
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
633
|
-
|
634
|
-
|
635
|
-
|
636
|
-
|
637
|
-
|
638
|
-
|
639
|
-
|
640
|
-
|
641
|
-
|
642
|
-
|
643
|
-
|
644
|
-
|
645
|
-
|
646
|
-
|
647
|
-
|
648
|
-
|
649
|
-
|
650
|
-
|
651
|
-
|
652
|
-
|
653
|
-
|
654
|
-
|
655
|
-
|
656
|
-
|
657
|
-
|
658
|
-
|
659
|
-
|
660
|
-
|
661
|
-
|
662
|
-
|
663
|
-
|
664
|
-
|
665
|
-
|
666
|
-
|
667
|
-
|
668
|
-
|
669
|
-
|
670
|
-
|
671
|
-
|
672
|
-
|
673
|
-
|
674
|
-
|
675
|
-
|
676
|
-
|
677
|
-
|
678
|
-
|
679
|
-
|
680
|
-
|
681
|
-
|
682
|
-
|
683
|
-
onEditorFocus?: (() => void) | undefined;
|
684
|
-
}) => {
|
639
|
+
type LambdaEditorBaseProps = {
|
640
|
+
className?: string | undefined;
|
641
|
+
disabled: boolean;
|
642
|
+
lambdaEditorState: LambdaEditorState;
|
643
|
+
/**
|
644
|
+
* As backdrop element is often shared in the application, and there could be multiple
|
645
|
+
* editor using that backdrop, we could end up in situation where some such editors
|
646
|
+
* have parser errors and some don't (this can happen when user make edits very quickly 2 lambda
|
647
|
+
* editor and causes parsers error simultaneously). In this case, we want to make sure when
|
648
|
+
* parser error is fixed in one editor, the backdrop is not dismissed immediately.
|
649
|
+
*
|
650
|
+
* NOTE: the current approach has a critical flaw, where on the same screen, there could be multiple
|
651
|
+
* sets of lambda editors with different values for `forceBackdrop`. So really, the only way to
|
652
|
+
* accomondate for this is to have `forceBackdrop` as a global value. Or we should get rid of this
|
653
|
+
* backdrop mechanism altogether as it's not a common UX pattern. i.e. quick evaluation makes
|
654
|
+
* us believe that this is a good option, user will lose what they type, but the most recent parsable
|
655
|
+
* input will still be captured.
|
656
|
+
*/
|
657
|
+
forceBackdrop: boolean;
|
658
|
+
autoFocus?: boolean | undefined;
|
659
|
+
onEditorFocus?: (() => void) | undefined;
|
660
|
+
};
|
661
|
+
|
662
|
+
export const InlineLambdaEditor = observer(
|
663
|
+
(
|
664
|
+
props: LambdaEditorBaseProps & {
|
665
|
+
/**
|
666
|
+
* TODO: when we pass in these expected type we should match a type as expected type if it's covariance, i.e. it is a subtype of
|
667
|
+
* the expected type. Note that we also have to handle that relationship for Primitive type
|
668
|
+
* See https://dzone.com/articles/covariance-and-contravariance
|
669
|
+
*/
|
670
|
+
expectedType?: Type | undefined;
|
671
|
+
matchedExpectedType?: (() => boolean) | undefined;
|
672
|
+
onExpectedTypeLabelSelect?: (() => void) | undefined;
|
673
|
+
/**
|
674
|
+
* To whether or not disable expasipn toggler
|
675
|
+
*/
|
676
|
+
disableExpansion?: boolean | undefined;
|
677
|
+
/**
|
678
|
+
* To whether show the inline editor in expanded mode initially and
|
679
|
+
* disable expansion toggler
|
680
|
+
*
|
681
|
+
* This flag will override the effect of `forceExpansion`
|
682
|
+
*/
|
683
|
+
forceExpansion?: boolean | undefined;
|
684
|
+
/**
|
685
|
+
* To whether or not disable popup mode
|
686
|
+
*/
|
687
|
+
disablePopUp?: boolean | undefined;
|
688
|
+
/**
|
689
|
+
* To whether or not hide parser error bar in inline mode
|
690
|
+
*/
|
691
|
+
hideErrorBar?: boolean | undefined;
|
692
|
+
},
|
693
|
+
) => {
|
685
694
|
const {
|
686
695
|
className,
|
687
696
|
lambdaEditorState,
|
@@ -693,8 +702,8 @@ export const LambdaEditor = observer(
|
|
693
702
|
disableExpansion,
|
694
703
|
forceExpansion,
|
695
704
|
disablePopUp,
|
696
|
-
useBaseTextEditorSettings,
|
697
705
|
hideErrorBar,
|
706
|
+
autoFocus,
|
698
707
|
onEditorFocus,
|
699
708
|
} = props;
|
700
709
|
const [showPopUp, setShowPopUp] = useState(false);
|
@@ -715,7 +724,7 @@ export const LambdaEditor = observer(
|
|
715
724
|
return (
|
716
725
|
<>
|
717
726
|
<div className="lambda-editor" />
|
718
|
-
<
|
727
|
+
<LambdaEditor_PopUp
|
719
728
|
className={className}
|
720
729
|
disabled={disabled}
|
721
730
|
lambdaEditorState={lambdaEditorState}
|
@@ -726,7 +735,7 @@ export const LambdaEditor = observer(
|
|
726
735
|
);
|
727
736
|
}
|
728
737
|
return (
|
729
|
-
<
|
738
|
+
<LambdaEditor_Inner
|
730
739
|
/**
|
731
740
|
* See the usage of `transformStringToLambda` as well as the instatiation of the editor in `LambdaEditorInner`.
|
732
741
|
* One of the big problem is that the editor uses lambda editor state (there are some non-trivial logic there, that
|
@@ -753,6 +762,7 @@ export const LambdaEditor = observer(
|
|
753
762
|
*/
|
754
763
|
key={lambdaEditorState.uuid}
|
755
764
|
className={className}
|
765
|
+
inline={true}
|
756
766
|
disabled={disabled}
|
757
767
|
lambdaEditorState={lambdaEditorState}
|
758
768
|
transformStringToLambda={debouncedTransformStringToLambda}
|
@@ -761,17 +771,54 @@ export const LambdaEditor = observer(
|
|
761
771
|
onExpectedTypeLabelSelect={onExpectedTypeLabelSelect}
|
762
772
|
forceBackdrop={forceBackdrop}
|
763
773
|
disableExpansion={disableExpansion}
|
774
|
+
disablePopUp={disablePopUp}
|
775
|
+
autoFocus={autoFocus}
|
776
|
+
openInPopUp={openInPopUp}
|
777
|
+
onEditorFocus={onEditorFocus}
|
778
|
+
hideErrorBar={hideErrorBar}
|
764
779
|
forceExpansion={
|
765
780
|
disableExpansion !== undefined
|
766
781
|
? !disableExpansion && forceExpansion
|
767
782
|
: forceExpansion
|
768
783
|
}
|
769
|
-
disablePopUp={disablePopUp}
|
770
|
-
useBaseTextEditorSettings={useBaseTextEditorSettings}
|
771
|
-
hideErrorBar={hideErrorBar}
|
772
|
-
openInPopUp={openInPopUp}
|
773
|
-
onEditorFocus={onEditorFocus}
|
774
784
|
/>
|
775
785
|
);
|
776
786
|
},
|
777
787
|
);
|
788
|
+
|
789
|
+
export const LambdaEditor = observer((props: LambdaEditorBaseProps) => {
|
790
|
+
const {
|
791
|
+
className,
|
792
|
+
lambdaEditorState,
|
793
|
+
disabled,
|
794
|
+
forceBackdrop,
|
795
|
+
autoFocus,
|
796
|
+
onEditorFocus,
|
797
|
+
} = props;
|
798
|
+
const debouncedTransformStringToLambda = useMemo(
|
799
|
+
() =>
|
800
|
+
disabled
|
801
|
+
? undefined
|
802
|
+
: debounce(
|
803
|
+
() => lambdaEditorState.convertLambdaGrammarStringToObject(),
|
804
|
+
1000,
|
805
|
+
),
|
806
|
+
[lambdaEditorState, disabled],
|
807
|
+
);
|
808
|
+
return (
|
809
|
+
<LambdaEditor_Inner
|
810
|
+
key={lambdaEditorState.uuid}
|
811
|
+
className={className}
|
812
|
+
disabled={disabled}
|
813
|
+
lambdaEditorState={lambdaEditorState}
|
814
|
+
transformStringToLambda={debouncedTransformStringToLambda}
|
815
|
+
forceBackdrop={forceBackdrop}
|
816
|
+
autoFocus={autoFocus}
|
817
|
+
onEditorFocus={onEditorFocus}
|
818
|
+
disableExpansion={true}
|
819
|
+
forceExpansion={true}
|
820
|
+
disablePopUp={true}
|
821
|
+
hideErrorBar={true}
|
822
|
+
/>
|
823
|
+
);
|
824
|
+
});
|
@@ -17,7 +17,7 @@
|
|
17
17
|
import {
|
18
18
|
EngineRuntime,
|
19
19
|
GraphBuilderError,
|
20
|
-
|
20
|
+
MappingIncludeMapping,
|
21
21
|
V1_GraphBuilderContextBuilder,
|
22
22
|
V1_Mapping,
|
23
23
|
V1_MAPPING_ELEMENT_PROTOCOL_TYPE,
|
@@ -33,6 +33,7 @@ import {
|
|
33
33
|
type V1_EngineRuntime,
|
34
34
|
CORE_PURE_PATH,
|
35
35
|
getAllIncludedMappings,
|
36
|
+
V1_MappingIncludeMapping,
|
36
37
|
} from '@finos/legend-graph';
|
37
38
|
import type { EntitiesWithOrigin, Entity } from '@finos/legend-storage';
|
38
39
|
import {
|
@@ -41,6 +42,7 @@ import {
|
|
41
42
|
guaranteeNonEmptyString,
|
42
43
|
guaranteeType,
|
43
44
|
type PlainObject,
|
45
|
+
isNonNullable,
|
44
46
|
} from '@finos/legend-shared';
|
45
47
|
import { MappingRuntimeCompatibilityAnalysisResult } from '../../../action/analytics/MappingRuntimeCompatibilityAnalysis.js';
|
46
48
|
import { ServiceExecutionAnalysisResult } from '../../../action/analytics/ServiceExecutionAnalysis.js';
|
@@ -93,18 +95,23 @@ export class V1_QueryBuilder_PureGraphManagerExtension extends QueryBuilder_Pure
|
|
93
95
|
v1Mappings.forEach((element) => {
|
94
96
|
const mapping = mappings.find((e) => e.path === element.path);
|
95
97
|
if (mapping) {
|
96
|
-
mapping.includes = element.includedMappings
|
97
|
-
(mappingInclude) =>
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
98
|
+
mapping.includes = element.includedMappings
|
99
|
+
.map((mappingInclude) => {
|
100
|
+
// TODO : handle for mapping include dataspace
|
101
|
+
if (mappingInclude instanceof V1_MappingIncludeMapping) {
|
102
|
+
return new MappingIncludeMapping(
|
103
|
+
mapping,
|
104
|
+
context.resolveMapping(
|
105
|
+
guaranteeNonEmptyString(
|
106
|
+
mappingInclude.includedMapping,
|
107
|
+
`Mapping include path is missing or empty`,
|
108
|
+
),
|
104
109
|
),
|
105
|
-
)
|
106
|
-
|
107
|
-
|
110
|
+
);
|
111
|
+
}
|
112
|
+
return undefined;
|
113
|
+
})
|
114
|
+
.filter(isNonNullable);
|
108
115
|
}
|
109
116
|
});
|
110
117
|
// handle runtimes
|
@@ -194,18 +201,23 @@ export class V1_QueryBuilder_PureGraphManagerExtension extends QueryBuilder_Pure
|
|
194
201
|
.forEach((element) => {
|
195
202
|
const mapping = graph.getNullableMapping(element.path);
|
196
203
|
if (mapping) {
|
197
|
-
mapping.includes = element.includedMappings
|
198
|
-
(
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
204
|
-
|
204
|
+
mapping.includes = element.includedMappings
|
205
|
+
.map((mappingInclude) => {
|
206
|
+
// TODO : handle for mapping include dataspace
|
207
|
+
if (mappingInclude instanceof V1_MappingIncludeMapping) {
|
208
|
+
return new MappingIncludeMapping(
|
209
|
+
mapping,
|
210
|
+
context.resolveMapping(
|
211
|
+
guaranteeNonEmptyString(
|
212
|
+
mappingInclude.includedMapping,
|
213
|
+
`Mapping include path is missing or empty`,
|
214
|
+
),
|
205
215
|
),
|
206
|
-
)
|
207
|
-
|
208
|
-
|
216
|
+
);
|
217
|
+
}
|
218
|
+
return undefined;
|
219
|
+
})
|
220
|
+
.filter(isNonNullable);
|
209
221
|
}
|
210
222
|
});
|
211
223
|
|