@finos/legend-query-builder 3.2.10 → 4.0.0
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/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
|
|