@finos/legend-query-builder 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/QueryBuilder.d.ts.map +1 -1
- package/lib/components/QueryBuilder.js +1 -1
- package/lib/components/QueryBuilder.js.map +1 -1
- package/lib/components/QueryBuilderComponentTestUtils.d.ts.map +1 -1
- package/lib/components/QueryBuilderComponentTestUtils.js +1 -3
- package/lib/components/QueryBuilderComponentTestUtils.js.map +1 -1
- package/lib/components/QueryBuilderDiffPanel.js +1 -2
- package/lib/components/QueryBuilderDiffPanel.js.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts +1 -1
- package/lib/components/QueryBuilderParametersPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderParametersPanel.js +8 -5
- package/lib/components/QueryBuilderParametersPanel.js.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.d.ts.map +1 -1
- package/lib/components/QueryBuilderPropertyExpressionEditor.js +11 -8
- package/lib/components/QueryBuilderPropertyExpressionEditor.js.map +1 -1
- package/lib/components/QueryBuilderResultPanel.d.ts.map +1 -1
- package/lib/components/QueryBuilderResultPanel.js +6 -4
- package/lib/components/QueryBuilderResultPanel.js.map +1 -1
- package/lib/components/QueryBuilderTextEditor.js +2 -2
- package/lib/components/QueryBuilderTextEditor.js.map +1 -1
- package/lib/components/QueryBuilder_TestID.d.ts +1 -0
- package/lib/components/QueryBuilder_TestID.d.ts.map +1 -1
- package/lib/components/QueryBuilder_TestID.js +1 -0
- package/lib/components/QueryBuilder_TestID.js.map +1 -1
- package/lib/components/explorer/QueryBuilderExplorerPanel.js +2 -2
- package/lib/components/explorer/QueryBuilderExplorerPanel.js.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.d.ts.map +1 -1
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js +5 -4
- package/lib/components/explorer/QueryBuilderMilestoningEditor.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.d.ts.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js +4 -2
- package/lib/components/fetch-structure/QueryBuilderPostFilterPanel.js.map +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js +1 -1
- package/lib/components/fetch-structure/QueryBuilderResultModifierPanel.js.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.d.ts.map +1 -1
- package/lib/components/filter/QueryBuilderFilterPanel.js +7 -4
- package/lib/components/filter/QueryBuilderFilterPanel.js.map +1 -1
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts +53 -0
- package/lib/components/shared/BasicValueSpecificationEditor.d.ts.map +1 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js +323 -0
- package/lib/components/shared/BasicValueSpecificationEditor.js.map +1 -0
- package/lib/components/shared/CustomDatePicker.d.ts +39 -0
- package/lib/components/shared/CustomDatePicker.d.ts.map +1 -0
- package/lib/components/shared/CustomDatePicker.js +622 -0
- package/lib/components/shared/CustomDatePicker.js.map +1 -0
- package/lib/components/shared/LambdaEditor.d.ts +92 -0
- package/lib/components/shared/LambdaEditor.d.ts.map +1 -0
- package/lib/components/shared/LambdaEditor.js +432 -0
- package/lib/components/shared/LambdaEditor.js.map +1 -0
- package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts → components/shared/LambdaParameterValuesEditor.d.ts} +11 -3
- package/lib/components/shared/LambdaParameterValuesEditor.d.ts.map +1 -0
- package/lib/components/shared/LambdaParameterValuesEditor.js +52 -0
- package/lib/components/shared/LambdaParameterValuesEditor.js.map +1 -0
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.d.ts.map +1 -1
- package/lib/components/shared/QueryBuilderLambdaEditor.js +3 -2
- package/lib/components/shared/QueryBuilderLambdaEditor.js.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.d.ts.map +1 -1
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js +1 -2
- package/lib/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.js.map +1 -1
- package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.d.ts → V1_QueryValueSpecificationBuilderHelper.d.ts} +3 -2
- package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.d.ts.map +1 -0
- package/lib/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.js → V1_QueryValueSpecificationBuilderHelper.js} +3 -2
- package/lib/graphManager/protocol/pure/v1/V1_QueryValueSpecificationBuilderHelper.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/index.d.ts +7 -0
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -1
- package/lib/package.json +7 -10
- package/lib/stores/QueryBuilderMilestoningState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderMilestoningState.js +6 -6
- package/lib/stores/QueryBuilderMilestoningState.js.map +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts +1 -1
- package/lib/stores/QueryBuilderParametersState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderParametersState.js +1 -1
- package/lib/stores/QueryBuilderParametersState.js.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderPropertyEditorState.js +35 -38
- package/lib/stores/QueryBuilderPropertyEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderResultState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderResultState.js +2 -1
- package/lib/stores/QueryBuilderResultState.js.map +1 -1
- package/lib/stores/QueryBuilderState.d.ts +2 -2
- package/lib/stores/QueryBuilderState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderState.js +5 -5
- package/lib/stores/QueryBuilderState.js.map +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js +1 -1
- package/lib/stores/QueryBuilderStateBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts +1 -1
- package/lib/stores/QueryBuilderTextEditorState.d.ts.map +1 -1
- package/lib/stores/QueryBuilderTextEditorState.js +2 -1
- package/lib/stores/QueryBuilderTextEditorState.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js +2 -2
- package/lib/stores/QueryBuilderValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js +23 -20
- package/lib/stores/QueryBuilderValueSpecificationBuilderHelper.js.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.d.ts.map +1 -1
- package/lib/stores/QueryBuilderValueSpecificationHelper.js +10 -9
- package/lib/stores/QueryBuilderValueSpecificationHelper.js.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.d.ts.map +1 -1
- package/lib/stores/explorer/QueryBuilderExplorerState.js +4 -3
- package/lib/stores/explorer/QueryBuilderExplorerState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.js.map +1 -1
- package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.d.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.js → QueryBuilderGraphFetchTreeValueSpecificationBuilder.js} +1 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js +3 -3
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionState.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js +4 -4
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js +6 -6
- package/lib/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.d.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts} +2 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.js → QueryBuilderAggregateOperatorValueSpecificationBuilder.js} +2 -2
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js +5 -5
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js +5 -5
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.js.map +1 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js +3 -3
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js +2 -2
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js +10 -10
- package/lib/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts +1 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js +3 -46
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.js.map +1 -1
- package/{src/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.ts → lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts} +5 -13
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js +61 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js +10 -8
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js +3 -3
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js +5 -4
- package/lib/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.d.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts} +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.d.ts.map +1 -0
- package/lib/stores/filter/operators/{QueryBuilderFilterOperatorHelper.js → QueryBuilderFilterOperatorValueSpecificationBuilder.js} +11 -13
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorValueSpecificationBuilder.js.map +1 -0
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Contain.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_EndWith.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js +13 -11
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_Equal.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js +6 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_In.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js +4 -4
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThan.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js +8 -7
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.js.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.d.ts.map +1 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js +7 -6
- package/lib/stores/filter/operators/QueryBuilderFilterOperator_StartWith.js.map +1 -1
- package/lib/stores/shared/LambdaEditorState.d.ts +40 -0
- package/lib/stores/shared/LambdaEditorState.d.ts.map +1 -0
- package/lib/stores/shared/LambdaEditorState.js +81 -0
- package/lib/stores/shared/LambdaEditorState.js.map +1 -0
- package/lib/stores/shared/LambdaParameterState.d.ts +62 -0
- package/lib/stores/shared/LambdaParameterState.d.ts.map +1 -0
- package/lib/stores/shared/LambdaParameterState.js +157 -0
- package/lib/stores/shared/LambdaParameterState.js.map +1 -0
- package/lib/{graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js → stores/shared/ValueSpecificationEditorHelper.d.ts} +5 -3
- package/lib/stores/shared/ValueSpecificationEditorHelper.d.ts.map +1 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js +77 -0
- package/lib/stores/shared/ValueSpecificationEditorHelper.js.map +1 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts +33 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.d.ts.map +1 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.js +71 -0
- package/lib/stores/shared/ValueSpecificationModifierHelper.js.map +1 -0
- package/package.json +14 -17
- package/src/components/QueryBuilder.tsx +4 -1
- package/src/components/QueryBuilderComponentTestUtils.tsx +2 -2
- package/src/components/QueryBuilderDiffPanel.tsx +1 -1
- package/src/components/QueryBuilderParametersPanel.tsx +8 -7
- package/src/components/QueryBuilderPropertyExpressionEditor.tsx +15 -12
- package/src/components/QueryBuilderResultPanel.tsx +8 -6
- package/src/components/QueryBuilderTextEditor.tsx +2 -2
- package/src/components/QueryBuilder_TestID.ts +2 -0
- package/src/components/explorer/QueryBuilderExplorerPanel.tsx +2 -2
- package/src/components/explorer/QueryBuilderMilestoningEditor.tsx +5 -3
- package/src/components/fetch-structure/QueryBuilderPostFilterPanel.tsx +6 -4
- package/src/components/fetch-structure/QueryBuilderResultModifierPanel.tsx +1 -1
- package/src/components/filter/QueryBuilderFilterPanel.tsx +9 -6
- package/src/components/shared/BasicValueSpecificationEditor.tsx +837 -0
- package/src/components/shared/CustomDatePicker.tsx +1363 -0
- package/src/components/shared/LambdaEditor.tsx +858 -0
- package/src/components/shared/LambdaParameterValuesEditor.tsx +121 -0
- package/src/components/shared/QueryBuilderLambdaEditor.tsx +5 -5
- package/src/graphManager/protocol/pure/QueryBuilder_PureProtocolProcessorPlugin.ts +2 -2
- package/src/graphManager/protocol/pure/v1/{V1_QueryBuilder_FunctionExpressionBuilder.ts → V1_QueryValueSpecificationBuilderHelper.ts} +9 -1
- package/src/index.ts +11 -0
- package/src/stores/QueryBuilderMilestoningState.ts +7 -7
- package/src/stores/QueryBuilderParametersState.ts +4 -4
- package/src/stores/QueryBuilderPropertyEditorState.ts +49 -56
- package/src/stores/QueryBuilderResultState.ts +2 -4
- package/src/stores/QueryBuilderState.ts +5 -5
- package/src/stores/QueryBuilderStateBuilder.ts +1 -1
- package/src/stores/QueryBuilderTextEditorState.ts +2 -1
- package/src/stores/QueryBuilderValueSpecificationBuilder.ts +5 -2
- package/src/stores/QueryBuilderValueSpecificationBuilderHelper.ts +30 -42
- package/src/stores/QueryBuilderValueSpecificationHelper.ts +13 -8
- package/src/stores/explorer/QueryBuilderExplorerState.ts +12 -2
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeState.ts +1 -1
- package/src/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchTreeUtil.ts +3 -3
- package/src/stores/fetch-structure/graph-fetch/{QueryBuilderGraphFetchValueSpecificationBuilder.ts → QueryBuilderGraphFetchTreeValueSpecificationBuilder.ts} +0 -1
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionColumnState.ts +3 -3
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionState.ts +1 -1
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionStateBuilder.ts +4 -4
- package/src/stores/fetch-structure/projection/QueryBuilderProjectionValueSpecificationBuilder.ts +6 -9
- package/src/stores/fetch-structure/projection/aggregation/operators/{QueryBuilderAggregateOperatorHelper.ts → QueryBuilderAggregateOperatorValueSpecificationBuilder.ts} +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Average.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Count.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Distinct.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_DistinctCount.ts +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_JoinString.ts +1 -1
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Max.ts +5 -5
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Min.ts +5 -5
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Population.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_StdDev_Sample.ts +3 -3
- package/src/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperator_Sum.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterStateBuilder.ts +2 -2
- package/src/stores/fetch-structure/projection/post-filter/QueryBuilderPostFilterValueSpecificationBuilder.ts +12 -10
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorHelper.ts +2 -86
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperatorValueSpecificationBuilder.ts +104 -0
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Contain.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_EndWith.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_Equal.ts +8 -7
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThan.ts +4 -4
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_GreaterThanEqual.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_In.ts +2 -2
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_IsEmpty.ts +1 -1
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThan.ts +4 -4
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_LessThanEqual.ts +3 -3
- package/src/stores/fetch-structure/projection/post-filter/operators/QueryBuilderPostFilterOperator_StartWith.ts +3 -3
- package/src/stores/filter/operators/{QueryBuilderFilterOperatorHelper.ts → QueryBuilderFilterOperatorValueSpecificationBuilder.ts} +10 -11
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Contain.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_EndWith.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_Equal.ts +11 -10
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThan.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_GreaterThanEqual.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_In.ts +5 -5
- package/src/stores/filter/operators/QueryBuilderFilterOperator_IsEmpty.ts +3 -3
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThan.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_LessThanEqual.ts +7 -7
- package/src/stores/filter/operators/QueryBuilderFilterOperator_StartWith.ts +5 -5
- package/src/stores/shared/LambdaEditorState.ts +118 -0
- package/src/stores/shared/LambdaParameterState.ts +259 -0
- package/src/stores/shared/ValueSpecificationEditorHelper.ts +143 -0
- package/src/stores/shared/ValueSpecificationModifierHelper.ts +177 -0
- package/tsconfig.json +14 -7
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.d.ts.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_FunctionExpressionBuilder.js.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.d.ts.map +0 -1
- package/lib/graphManager/protocol/pure/v1/V1_QueryBuilder_PropertyExpressionTypeInferenceBuilder.js.map +0 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.d.ts.map +0 -1
- package/lib/stores/fetch-structure/graph-fetch/QueryBuilderGraphFetchValueSpecificationBuilder.js.map +0 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.d.ts.map +0 -1
- package/lib/stores/fetch-structure/projection/aggregation/operators/QueryBuilderAggregateOperatorHelper.js.map +0 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.d.ts.map +0 -1
- package/lib/stores/filter/operators/QueryBuilderFilterOperatorHelper.js.map +0 -1
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"CustomDatePicker.js","sourceRoot":"","sources":["../../../src/components/shared/CustomDatePicker.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,92 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
3
|
+
*
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
* you may not use this file except in compliance with the License.
|
6
|
+
* You may obtain a copy of the License at
|
7
|
+
*
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
*
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
* See the License for the specific language governing permissions and
|
14
|
+
* limitations under the License.
|
15
|
+
*/
|
16
|
+
/// <reference types="react" resolution-mode="require"/>
|
17
|
+
import { type IKeyboardEvent } from 'monaco-editor';
|
18
|
+
import type { LambdaEditorState } from '../../stores/shared/LambdaEditorState.js';
|
19
|
+
import { type Type } from '@finos/legend-graph';
|
20
|
+
export declare type LambdaEditorOnKeyDownEventHandler = {
|
21
|
+
matcher: (event: IKeyboardEvent) => boolean;
|
22
|
+
action: (event: IKeyboardEvent) => void;
|
23
|
+
};
|
24
|
+
/**
|
25
|
+
* This is not strictly meant for lambda. The idea is to create an editor that allows
|
26
|
+
* editing _something_ but allows user to edit via text.
|
27
|
+
*/
|
28
|
+
export declare const LambdaEditor: ((props: {
|
29
|
+
className?: string | undefined;
|
30
|
+
disabled: boolean;
|
31
|
+
lambdaEditorState: LambdaEditorState;
|
32
|
+
/**
|
33
|
+
* 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
|
34
|
+
* the expected type. Note that we also have to handle that relationship for Primitive type
|
35
|
+
* See https://dzone.com/articles/covariance-and-contravariance
|
36
|
+
*/
|
37
|
+
expectedType?: Type | undefined;
|
38
|
+
matchedExpectedType?: (() => boolean) | undefined;
|
39
|
+
onExpectedTypeLabelSelect?: (() => void) | undefined;
|
40
|
+
/**
|
41
|
+
* As backdrop element is often shared in the application, and there could be multiple
|
42
|
+
* editor using that backdrop, we could end up in situation where some such editors
|
43
|
+
* have parser errors and some don't (this can happen when user make edits very quickly 2 lambda
|
44
|
+
* editor and causes parsers error simultaneously). In this case, we want to make sure when
|
45
|
+
* parser error is fixed in one editor, the backdrop is not dismissed immediately.
|
46
|
+
*
|
47
|
+
* NOTE: the current approach has a critical flaw, where on the same screen, there could be multiple
|
48
|
+
* sets of lambda editors with different values for `forceBackdrop`. So really, the only way to
|
49
|
+
* accomondate for this is to have `forceBackdrop` as a global value. Or we should get rid of this
|
50
|
+
* backdrop mechanism altogether as it's not really a good UX pattern. i.e. quick evaluation makes
|
51
|
+
* us believe that this is a good option, user will lose what they type, but the most recent parsable
|
52
|
+
* input will still be captured.
|
53
|
+
*/
|
54
|
+
forceBackdrop: boolean;
|
55
|
+
/**
|
56
|
+
* (de)activator for backdrop that is usually used to block any background interactions
|
57
|
+
* while there is a parser error in the editor
|
58
|
+
*/
|
59
|
+
backdropSetter?: ((val: boolean) => void) | undefined;
|
60
|
+
/**
|
61
|
+
* To whether or not disable expasipn toggler
|
62
|
+
*/
|
63
|
+
disableExpansion?: boolean | undefined;
|
64
|
+
/**
|
65
|
+
* To whether show the inline editor in expanded mode initially and
|
66
|
+
* disable expansion toggler
|
67
|
+
*
|
68
|
+
* This flag will override the effect of `forceExpansion`
|
69
|
+
*/
|
70
|
+
forceExpansion?: boolean | undefined;
|
71
|
+
/**
|
72
|
+
* To whether or not disable popup mode
|
73
|
+
*/
|
74
|
+
disablePopUp?: boolean | undefined;
|
75
|
+
/**
|
76
|
+
* To whether or not style inline editor
|
77
|
+
*/
|
78
|
+
useBaseTextEditorSettings?: boolean | undefined;
|
79
|
+
/**
|
80
|
+
* To whether or not hide parser error bar in inline mode
|
81
|
+
*/
|
82
|
+
hideErrorBar?: boolean | undefined;
|
83
|
+
/**
|
84
|
+
* Allow adding hotkeys handler to the editor, this is usually used
|
85
|
+
* to allow activating global hotkeys while typing in the editor
|
86
|
+
*/
|
87
|
+
onKeyDownEventHandlers?: LambdaEditorOnKeyDownEventHandler[];
|
88
|
+
onEditorFocusEventHandler?: (() => void) | undefined;
|
89
|
+
}) => JSX.Element) & {
|
90
|
+
displayName: string;
|
91
|
+
};
|
92
|
+
//# sourceMappingURL=LambdaEditor.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LambdaEditor.d.ts","sourceRoot":"","sources":["../../../src/components/shared/LambdaEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;;AAGH,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAgBvB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAQlF,OAAO,EAAiC,KAAK,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAS/E,oBAAY,iCAAiC,GAAG;IAC9C,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC;IAC5C,MAAM,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;CACzC,CAAC;AA4nBF;;;GAGG;AACH,eAAO,MAAM,YAAY;gBAET,MAAM,GAAG,SAAS;cACpB,OAAO;uBACE,iBAAiB;IACpC;;;;OAIG;mBACY,IAAI,GAAG,SAAS;0BACT,CAAC,MAAM,OAAO,CAAC,GAAG,SAAS;gCACrB,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;IACpD;;;;;;;;;;;;;OAaG;mBACY,OAAO;IACtB;;;OAGG;4BACqB,OAAO,KAAK,IAAI;IACxC;;OAEG;uBACgB,OAAO,GAAG,SAAS;IACtC;;;;;OAKG;qBACc,OAAO,GAAG,SAAS;IACpC;;OAEG;mBACY,OAAO,GAAG,SAAS;IAClC;;OAEG;gCACyB,OAAO,GAAG,SAAS;IAC/C;;OAEG;mBACY,OAAO,GAAG,SAAS;IAClC;;;OAGG;6BACsB,iCAAiC,EAAE;gCAChC,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS;;;CAmGvD,CAAC"}
|
@@ -0,0 +1,432 @@
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
2
|
+
/**
|
3
|
+
* Copyright (c) 2020-present, Goldman Sachs
|
4
|
+
*
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
* you may not use this file except in compliance with the License.
|
7
|
+
* You may obtain a copy of the License at
|
8
|
+
*
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
*
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
* See the License for the specific language governing permissions and
|
15
|
+
* limitations under the License.
|
16
|
+
*/
|
17
|
+
import { useRef, useEffect, useState, useMemo } from 'react';
|
18
|
+
import { editor as monacoEditorAPI, } from 'monaco-editor';
|
19
|
+
import { observer } from 'mobx-react-lite';
|
20
|
+
import { clsx, setErrorMarkers, disposeEditor, disableEditorHotKeys, baseTextEditorSettings, getEditorValue, normalizeLineEnding, FilledWindowMaximizeIcon, LongArrowAltDownIcon, LongArrowAltUpIcon, Dialog, useResizeDetector, } from '@finos/legend-art';
|
21
|
+
import { debounce, noop, } from '@finos/legend-shared';
|
22
|
+
import { flowResult } from 'mobx';
|
23
|
+
import { ParserError } from '@finos/legend-graph';
|
24
|
+
import { EDITOR_LANGUAGE, EDITOR_THEME, TAB_SIZE, useApplicationStore, } from '@finos/legend-application';
|
25
|
+
import { QUERY_BUILDER_TEST_ID } from '../QueryBuilder_TestID.js';
|
26
|
+
const LambdaErrorFeedback = (props) => {
|
27
|
+
const { error, discardChanges } = props;
|
28
|
+
if (!error) {
|
29
|
+
return null;
|
30
|
+
}
|
31
|
+
return (_jsxs("div", { className: "lambda-editor__error-feedback", children: [_jsx("div", { className: "lambda-editor__error-feedback__error__message", children: error.message }), error instanceof ParserError && (_jsx("div", { className: "lambda-editor__error-feedback__parsing-error__content", children: _jsx("button", { className: "lambda-editor__error-feedback__parsing-error__discard-changes-btn", onClick: discardChanges, tabIndex: -1, children: "Discard Changes" }) }))] }));
|
32
|
+
};
|
33
|
+
const LambdaEditorInline = observer((props) => {
|
34
|
+
const { className, disabled, lambdaEditorState, transformStringToLambda, expectedType, onExpectedTypeLabelSelect, matchedExpectedType, forceBackdrop, backdropSetter, disableExpansion, forceExpansion, disablePopUp, useBaseTextEditorSettings, hideErrorBar, onKeyDownEventHandlers, openInPopUp, onEditorFocusEventHandler, } = props;
|
35
|
+
const applicationStore = useApplicationStore();
|
36
|
+
const onDidChangeModelContentEventDisposer = useRef(undefined);
|
37
|
+
const onKeyDownEventDisposer = useRef(undefined);
|
38
|
+
const onDidFocusEditorWidgetDisposer = useRef(undefined);
|
39
|
+
const value = normalizeLineEnding(lambdaEditorState.lambdaString);
|
40
|
+
const parserError = lambdaEditorState.parserError;
|
41
|
+
const compilationError = lambdaEditorState.compilationError;
|
42
|
+
const selectTypeLabel = () => onExpectedTypeLabelSelect?.();
|
43
|
+
const [isExpanded, setExpanded] = useState(Boolean(forceExpansion));
|
44
|
+
const [editor, setEditor] = useState();
|
45
|
+
const textInputRef = useRef(null);
|
46
|
+
const transformLambdaToString = async (pretty) => {
|
47
|
+
transformStringToLambda?.cancel();
|
48
|
+
return flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(pretty)).catch(applicationStore.alertUnhandledError);
|
49
|
+
};
|
50
|
+
const discardChanges = applicationStore.guardUnhandledError(() => transformLambdaToString(isExpanded));
|
51
|
+
const toggleExpandedMode = () => {
|
52
|
+
if (!forceExpansion && !parserError) {
|
53
|
+
transformLambdaToString(!isExpanded).catch(applicationStore.alertUnhandledError);
|
54
|
+
setExpanded(!isExpanded);
|
55
|
+
}
|
56
|
+
};
|
57
|
+
const { ref, width, height } = useResizeDetector();
|
58
|
+
useEffect(() => {
|
59
|
+
if (width !== undefined && height !== undefined) {
|
60
|
+
editor?.layout({ width, height });
|
61
|
+
}
|
62
|
+
}, [editor, width, height]);
|
63
|
+
useEffect(() => {
|
64
|
+
if (!editor && textInputRef.current) {
|
65
|
+
const element = textInputRef.current;
|
66
|
+
const lambdaEditorOptions = useBaseTextEditorSettings
|
67
|
+
? {}
|
68
|
+
: {
|
69
|
+
renderLineHighlight: 'none',
|
70
|
+
lineHeight: 24,
|
71
|
+
overviewRulerBorder: false,
|
72
|
+
overviewRulerLanes: 0,
|
73
|
+
hideCursorInOverviewRuler: false,
|
74
|
+
glyphMargin: false,
|
75
|
+
folding: false,
|
76
|
+
minimap: { enabled: false },
|
77
|
+
lineNumbers: 'off',
|
78
|
+
lineNumbersMinChars: 0,
|
79
|
+
lineDecorationsWidth: 5,
|
80
|
+
snippetSuggestions: 'none',
|
81
|
+
scrollbar: { vertical: 'hidden' },
|
82
|
+
};
|
83
|
+
const _editor = monacoEditorAPI.create(element, {
|
84
|
+
...baseTextEditorSettings,
|
85
|
+
language: EDITOR_LANGUAGE.PURE,
|
86
|
+
theme: applicationStore.TEMPORARY__isLightThemeEnabled
|
87
|
+
? EDITOR_THEME.TEMPORARY__VSCODE_LIGHT
|
88
|
+
: EDITOR_THEME.LEGEND,
|
89
|
+
...lambdaEditorOptions,
|
90
|
+
});
|
91
|
+
disableEditorHotKeys(_editor);
|
92
|
+
setEditor(_editor);
|
93
|
+
}
|
94
|
+
}, [editor, applicationStore, useBaseTextEditorSettings]);
|
95
|
+
// set styling for expanded mode
|
96
|
+
useEffect(() => {
|
97
|
+
if (editor) {
|
98
|
+
const currentClassName = editor.getRawOptions().extraEditorClassName;
|
99
|
+
const isInExpanded = currentClassName === 'lambda-editor__expanded';
|
100
|
+
if (isInExpanded !== isExpanded) {
|
101
|
+
editor.updateOptions(isExpanded
|
102
|
+
? {
|
103
|
+
extraEditorClassName: 'lambda-editor__editor__input__expanded',
|
104
|
+
}
|
105
|
+
: {
|
106
|
+
extraEditorClassName: 'lambda-editor__editor__input__compressed',
|
107
|
+
});
|
108
|
+
// set the value here so we don't lose the error when toggling between expand/collape modes
|
109
|
+
const currentValue = getEditorValue(editor);
|
110
|
+
editor.setValue(currentValue);
|
111
|
+
}
|
112
|
+
}
|
113
|
+
}, [editor, isExpanded]);
|
114
|
+
// set backdrop to force user to fix parser error when it happens
|
115
|
+
useEffect(() => {
|
116
|
+
if (backdropSetter) {
|
117
|
+
if (parserError) {
|
118
|
+
backdropSetter(true);
|
119
|
+
}
|
120
|
+
else if (!forceBackdrop) {
|
121
|
+
// make sure the backdrop is no longer `needed` for blocking by another parser error before hiding it
|
122
|
+
// NOTE: this has a serious drawback, see the documentation for `forceBackdrop` prop of `LambdaEditor`
|
123
|
+
// for better context
|
124
|
+
backdropSetter(false);
|
125
|
+
}
|
126
|
+
}
|
127
|
+
}, [parserError, forceBackdrop, backdropSetter]);
|
128
|
+
if (editor) {
|
129
|
+
/**
|
130
|
+
* See the extensive note about this instantiation in `LambdaEditor`. The fact that `transformStringToLambda` can change
|
131
|
+
* since it does not solely depends on `LambdaEditorState` but also the `disabled` flag means that the update function
|
132
|
+
* can go stale, so we cannot place this `onDidChangeModelContent` in a one-time called instantiation of the editor
|
133
|
+
* (i.e. the first `useEffect` where we create the editor). As such, we have to use refs and disposer to update this every time
|
134
|
+
* the lambda editor is re-rendered.
|
135
|
+
*
|
136
|
+
* A potential bug that could come up if we place this logic in the `useEffect` for instantiating the editor is:
|
137
|
+
* 1. Initially set the `disabled` to true, then switch it back to `false` (using a timer or something)
|
138
|
+
* 2. Type something in the lambda editor, the transform function is `undefined` and does not update the underlying lambda
|
139
|
+
*/
|
140
|
+
onDidChangeModelContentEventDisposer.current?.dispose();
|
141
|
+
onDidChangeModelContentEventDisposer.current =
|
142
|
+
editor.onDidChangeModelContent(() => {
|
143
|
+
const currentVal = getEditorValue(editor);
|
144
|
+
/**
|
145
|
+
* Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
|
146
|
+
* Since this method is guaranteed to be called one time during the first rendering when we first set the
|
147
|
+
* value for the lambda editor, we do not want to clear any existing non-parser error in case it is set by methods
|
148
|
+
* like reveal error in each editor
|
149
|
+
*/
|
150
|
+
if (currentVal !== value) {
|
151
|
+
lambdaEditorState.setLambdaString(currentVal);
|
152
|
+
/**
|
153
|
+
* Here we clear the error as user changes the input
|
154
|
+
* NOTE: we don't reset the parser error here, we could, but with that, we have to assume that the parsing check is
|
155
|
+
* pretty quick--almost near real time, but if after typing new character, we clear the parsing error and the user
|
156
|
+
* still make mistake, then the warning message will appear to flash, which is bad UX, so for now, we leave it be
|
157
|
+
*/
|
158
|
+
lambdaEditorState.setCompilationError(undefined);
|
159
|
+
}
|
160
|
+
/**
|
161
|
+
* This method MUST run on the first rendering of the lambda editor, as it will update the lambda object. This is
|
162
|
+
* needed for new lambda where a lot of time is just a stub lambda. Without having this method called on the first
|
163
|
+
* rendering, that stub lambda will remain stub lambda until user starts typing something in the lambda editor.
|
164
|
+
* This stub lambda sometimes does not even get registered in change detection and causing the user to lose data
|
165
|
+
* Although, technically a stub lambda is useless, so this is not too serious, but it may come across as buggy
|
166
|
+
*/
|
167
|
+
transformStringToLambda?.cancel();
|
168
|
+
if (transformStringToLambda) {
|
169
|
+
const stringToLambdaTransformation = transformStringToLambda();
|
170
|
+
if (stringToLambdaTransformation) {
|
171
|
+
flowResult(stringToLambdaTransformation).catch(applicationStore.alertUnhandledError);
|
172
|
+
}
|
173
|
+
}
|
174
|
+
});
|
175
|
+
// set hotkeys (before calling the action, finish parsing the current text value)
|
176
|
+
onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
|
177
|
+
/**
|
178
|
+
* NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
|
179
|
+
* use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
|
180
|
+
* If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
|
181
|
+
* perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
|
182
|
+
* issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
|
183
|
+
* See https://github.com/greena13/react-hotkeys/issues/209
|
184
|
+
*
|
185
|
+
* The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
|
186
|
+
* toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
|
187
|
+
* those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
|
188
|
+
* parsing passes before actually calling those global operations.
|
189
|
+
*/
|
190
|
+
onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
|
191
|
+
onKeyDownEventHandlers.forEach((handler) => {
|
192
|
+
if (handler.matcher(event)) {
|
193
|
+
event.preventDefault();
|
194
|
+
event.stopPropagation();
|
195
|
+
transformStringToLambda?.cancel();
|
196
|
+
handler.action(event);
|
197
|
+
}
|
198
|
+
});
|
199
|
+
});
|
200
|
+
onDidFocusEditorWidgetDisposer.current?.dispose();
|
201
|
+
onDidFocusEditorWidgetDisposer.current = editor.onDidFocusEditorWidget(() => {
|
202
|
+
onEditorFocusEventHandler?.();
|
203
|
+
});
|
204
|
+
// Set the text value
|
205
|
+
const currentValue = getEditorValue(editor);
|
206
|
+
const editorModel = editor.getModel();
|
207
|
+
const currentConfig = editor.getRawOptions();
|
208
|
+
if (currentValue !== value) {
|
209
|
+
editor.setValue(value);
|
210
|
+
}
|
211
|
+
if (currentConfig.readOnly !== disabled) {
|
212
|
+
editor.updateOptions({
|
213
|
+
readOnly: disabled,
|
214
|
+
});
|
215
|
+
}
|
216
|
+
// Set the errors
|
217
|
+
if (editorModel) {
|
218
|
+
editorModel.updateOptions({ tabSize: TAB_SIZE });
|
219
|
+
const error = parserError ?? compilationError;
|
220
|
+
if (error?.sourceInformation) {
|
221
|
+
setErrorMarkers(editorModel, error.message, error.sourceInformation.startLine, error.sourceInformation.startColumn, error.sourceInformation.endLine, error.sourceInformation.endColumn);
|
222
|
+
}
|
223
|
+
else {
|
224
|
+
monacoEditorAPI.setModelMarkers(editorModel, 'Error', []);
|
225
|
+
}
|
226
|
+
}
|
227
|
+
}
|
228
|
+
useEffect(() => () => {
|
229
|
+
if (editor) {
|
230
|
+
disposeEditor(editor);
|
231
|
+
}
|
232
|
+
}, [editor]); // dispose editor
|
233
|
+
return (_jsxs(_Fragment, { children: [_jsxs("div", { className: clsx('lambda-editor', className, {
|
234
|
+
'lambda-editor__expanded': isExpanded,
|
235
|
+
}), children: [_jsx("div", { ref: ref, "data-testid": QUERY_BUILDER_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT, className: "lambda-editor__editor__input", children: _jsx("div", { className: "text-editor__body", ref: textInputRef }) }), Boolean(expectedType) && (_jsxs("div", { className: "lambda-editor__editor__info", children: [onExpectedTypeLabelSelect && (_jsx("button", { className: clsx('lambda-editor__editor__expected-return-type lambda-editor__editor__expected-return-type--clickable', {
|
236
|
+
'lambda-editor__editor__expected-return-type--highlighted': matchedExpectedType?.(),
|
237
|
+
}), onClick: selectTypeLabel, tabIndex: -1, title: "Toggle highlight expected type", children: expectedType?.name ?? 'unknown' })), !onExpectedTypeLabelSelect && (_jsx("div", { className: clsx('lambda-editor__editor__expected-return-type', {
|
238
|
+
'lambda-editor__editor__expected-return-type--highlighted': matchedExpectedType?.(),
|
239
|
+
}), children: expectedType?.name ?? 'unknown' }))] })), !disableExpansion && !forceExpansion && (_jsx("button", { className: "lambda-editor__editor__expand-btn", onClick: toggleExpandedMode, disabled: Boolean(parserError), tabIndex: -1, title: "Toggle Expand", children: isExpanded ? _jsx(LongArrowAltUpIcon, {}) : _jsx(LongArrowAltDownIcon, {}) })), !disablePopUp && (_jsx("button", { className: "lambda-editor__action", onClick: openInPopUp, disabled: Boolean(parserError), tabIndex: -1, title: "Open...", children: _jsx(FilledWindowMaximizeIcon, {}) }))] }), !hideErrorBar && (_jsx(LambdaErrorFeedback, { error: parserError ?? compilationError, discardChanges: discardChanges }))] }));
|
240
|
+
});
|
241
|
+
const LambdaEditorPopUp = observer((props) => {
|
242
|
+
const { className, disabled, lambdaEditorState, transformStringToLambda, onKeyDownEventHandlers, onClose, } = props;
|
243
|
+
const applicationStore = useApplicationStore();
|
244
|
+
const onKeyDownEventDisposer = useRef(undefined);
|
245
|
+
const onDidChangeModelContentEventDisposer = useRef(undefined);
|
246
|
+
const value = normalizeLineEnding(lambdaEditorState.lambdaString);
|
247
|
+
const parserError = lambdaEditorState.parserError;
|
248
|
+
const compilationError = lambdaEditorState.compilationError;
|
249
|
+
const [editor, setEditor] = useState();
|
250
|
+
const textInputRef = useRef(null);
|
251
|
+
const transformLambdaToString = async (pretty) => {
|
252
|
+
transformStringToLambda?.cancel();
|
253
|
+
return flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(pretty)).catch(applicationStore.alertUnhandledError);
|
254
|
+
};
|
255
|
+
const discardChanges = applicationStore.guardUnhandledError(() => transformLambdaToString(true));
|
256
|
+
const { ref, width, height } = useResizeDetector();
|
257
|
+
useEffect(() => {
|
258
|
+
if (width !== undefined && height !== undefined) {
|
259
|
+
editor?.layout({ width, height });
|
260
|
+
}
|
261
|
+
}, [editor, width, height]);
|
262
|
+
const onEnter = () => {
|
263
|
+
if (!editor && textInputRef.current) {
|
264
|
+
const element = textInputRef.current;
|
265
|
+
const _editor = monacoEditorAPI.create(element, {
|
266
|
+
...baseTextEditorSettings,
|
267
|
+
language: EDITOR_LANGUAGE.PURE,
|
268
|
+
theme: EDITOR_THEME.LEGEND,
|
269
|
+
});
|
270
|
+
disableEditorHotKeys(_editor);
|
271
|
+
setEditor(_editor);
|
272
|
+
}
|
273
|
+
};
|
274
|
+
if (editor) {
|
275
|
+
/**
|
276
|
+
* See the extensive note about this instantiation in `LambdaEditor`. The fact that `transformStringToLambda` can change
|
277
|
+
* since it does not solely depends on `LambdaEditorState` but also the `disabled` flag means that the update function
|
278
|
+
* can go stale, so we cannot place this `onDidChangeModelContent` in a one-time called instantiation of the editor
|
279
|
+
* (i.e. the first `useEffect` where we create the editor). As such, we have to use refs and disposer to update this every time
|
280
|
+
* the lambda editor is re-rendered.
|
281
|
+
*
|
282
|
+
* A potential bug that could come up if we place this logic in the `useEffect` for instantiating the editor is:
|
283
|
+
* 1. Initially set the `disabled` to true, then switch it back to `false` (using a timer or something)
|
284
|
+
* 2. Type something in the lambda editor, the transform function is `undefined` and does not update the underlying lambda
|
285
|
+
*/
|
286
|
+
onDidChangeModelContentEventDisposer.current?.dispose();
|
287
|
+
onDidChangeModelContentEventDisposer.current =
|
288
|
+
editor.onDidChangeModelContent(() => {
|
289
|
+
const currentVal = getEditorValue(editor);
|
290
|
+
/**
|
291
|
+
* Avoid unecessary setting of lambda string. Also, this prevents clearing the non-parser error on first render.
|
292
|
+
* Since this method is guaranteed to be called one time during the first rendering when we first set the
|
293
|
+
* value for the lambda editor, we do not want to clear any existing non-parser error in case it is set by methods
|
294
|
+
* like reveal error in each editor
|
295
|
+
*/
|
296
|
+
if (currentVal !== value) {
|
297
|
+
lambdaEditorState.setLambdaString(currentVal);
|
298
|
+
/**
|
299
|
+
* Here we clear the error as user changes the input
|
300
|
+
* NOTE: we don't reset the parser error here, we could, but with that, we have to assume that the parsing check is
|
301
|
+
* pretty quick--almost near real time, but if after typing new character, we clear the parsing error and the user
|
302
|
+
* still make mistake, then the warning message will appear to flash, which is bad UX, so for now, we leave it be
|
303
|
+
*/
|
304
|
+
lambdaEditorState.setCompilationError(undefined);
|
305
|
+
}
|
306
|
+
/**
|
307
|
+
* This method MUST run on the first rendering of the lambda editor, as it will update the lambda object. This is
|
308
|
+
* needed for new lambda where a lot of time is just a stub lambda. Without having this method called on the first
|
309
|
+
* rendering, that stub lambda will remain stub lambda until user starts typing something in the lambda editor.
|
310
|
+
* This stub lambda sometimes does not even get registered in change detection and causing the user to lose data
|
311
|
+
* Although, technically a stub lambda is useless, so this is not too serious, but it may come across as buggy
|
312
|
+
*/
|
313
|
+
transformStringToLambda?.cancel();
|
314
|
+
if (transformStringToLambda) {
|
315
|
+
const stringToLambdaTransformation = transformStringToLambda();
|
316
|
+
if (stringToLambdaTransformation) {
|
317
|
+
flowResult(stringToLambdaTransformation).catch(applicationStore.alertUnhandledError);
|
318
|
+
}
|
319
|
+
}
|
320
|
+
});
|
321
|
+
// set hotkeys (before calling the action, finish parsing the current text value)
|
322
|
+
onKeyDownEventDisposer.current?.dispose(); // dispose to avoid trigger hotkeys multiple times
|
323
|
+
/**
|
324
|
+
* NOTE: We can use `setCommand` here but that does not expose the event so we cannot `stopPropagation`, and we need to
|
325
|
+
* use `stopPropagation` to prevent the event top bubble up to global hotkeys listener.
|
326
|
+
* If we really want to use `setCommand` the other approach is to set <HotKeys/> around this lambda editor to override F9
|
327
|
+
* perhaps that's the cleaner approach because we use `react-hotkeys` to handle it's business, but there is an on-going
|
328
|
+
* issue with <HotKeys/> keybindings are lost when component rerenders and this happen as users type because we call `setValue`
|
329
|
+
* See https://github.com/greena13/react-hotkeys/issues/209
|
330
|
+
*
|
331
|
+
* The main role of this section is to disable `monaco-editor` command and override with global actions, such as generate, compile,
|
332
|
+
* toggle text mode, etc. The important thing is before we do so, we would like to finish the parsing of the current string, otherwise,
|
333
|
+
* those operations can end up flushing the current state and trashing the user input, which is bad, as such, we make sure the
|
334
|
+
* parsing passes before actually calling those global operations.
|
335
|
+
*/
|
336
|
+
onKeyDownEventDisposer.current = editor.onKeyDown((event) => {
|
337
|
+
onKeyDownEventHandlers.forEach((handler) => {
|
338
|
+
if (handler.matcher(event)) {
|
339
|
+
event.preventDefault();
|
340
|
+
event.stopPropagation();
|
341
|
+
transformStringToLambda?.cancel();
|
342
|
+
handler.action(event);
|
343
|
+
}
|
344
|
+
});
|
345
|
+
});
|
346
|
+
// Set the text value
|
347
|
+
const currentValue = getEditorValue(editor);
|
348
|
+
const editorModel = editor.getModel();
|
349
|
+
const currentConfig = editor.getRawOptions();
|
350
|
+
if (currentValue !== value) {
|
351
|
+
editor.setValue(value);
|
352
|
+
}
|
353
|
+
if (currentConfig.readOnly !== disabled) {
|
354
|
+
editor.updateOptions({
|
355
|
+
readOnly: disabled,
|
356
|
+
});
|
357
|
+
}
|
358
|
+
// Set the errors
|
359
|
+
if (editorModel) {
|
360
|
+
editorModel.updateOptions({ tabSize: TAB_SIZE });
|
361
|
+
const error = parserError ?? compilationError;
|
362
|
+
if (error?.sourceInformation) {
|
363
|
+
setErrorMarkers(editorModel, error.message, error.sourceInformation.startLine, error.sourceInformation.startColumn, error.sourceInformation.endLine, error.sourceInformation.endColumn);
|
364
|
+
}
|
365
|
+
else {
|
366
|
+
monacoEditorAPI.setModelMarkers(editorModel, 'Error', []);
|
367
|
+
}
|
368
|
+
}
|
369
|
+
}
|
370
|
+
useEffect(() => {
|
371
|
+
flowResult(lambdaEditorState.convertLambdaObjectToGrammarString(true)).catch(applicationStore.alertUnhandledError);
|
372
|
+
}, [applicationStore, lambdaEditorState]);
|
373
|
+
useEffect(() => () => {
|
374
|
+
if (editor) {
|
375
|
+
disposeEditor(editor);
|
376
|
+
}
|
377
|
+
}, [editor]); // dispose editor
|
378
|
+
return (_jsx(Dialog, { open: true, TransitionProps: {
|
379
|
+
onEnter,
|
380
|
+
}, onClose: noop, classes: {
|
381
|
+
root: 'editor-modal__root-container',
|
382
|
+
container: 'editor-modal__container',
|
383
|
+
paper: 'editor-modal__content',
|
384
|
+
}, children: _jsxs("div", { className: clsx('modal modal--dark editor-modal lambda-editor__popup__modal', {
|
385
|
+
'lambda-editor__popup__modal--has-error': Boolean(lambdaEditorState.parserError),
|
386
|
+
}), children: [_jsxs("div", { className: "modal__header", children: [_jsx("div", { className: "modal__title", children: "Edit Lambda" }), lambdaEditorState.parserError && (_jsx("div", { className: "modal__title__error-badge", children: "Failed to parse lambda" }))] }), _jsx("div", { className: "modal__body", children: _jsx("div", { className: clsx('lambda-editor__popup__content', className), children: _jsx("div", { ref: ref, "data-testid": QUERY_BUILDER_TEST_ID.LAMBDA_EDITOR__EDITOR_INPUT, className: "lambda-editor__editor__input", children: _jsx("div", { className: "text-editor__body", ref: textInputRef }) }) }) }), _jsxs("div", { className: "modal__footer", children: [_jsx("button", { className: "btn btn--dark btn--caution", onClick: discardChanges, children: "Discard changes" }), _jsx("button", { className: "btn btn--dark", onClick: onClose, disabled: Boolean(lambdaEditorState.parserError), children: "Close" })] })] }) }));
|
387
|
+
});
|
388
|
+
/**
|
389
|
+
* This is not strictly meant for lambda. The idea is to create an editor that allows
|
390
|
+
* editing _something_ but allows user to edit via text.
|
391
|
+
*/
|
392
|
+
export const LambdaEditor = observer((props) => {
|
393
|
+
const { className, lambdaEditorState, disabled, forceBackdrop, backdropSetter, expectedType, onExpectedTypeLabelSelect, matchedExpectedType, disableExpansion, forceExpansion, disablePopUp, useBaseTextEditorSettings, hideErrorBar, onKeyDownEventHandlers, onEditorFocusEventHandler, } = props;
|
394
|
+
const [showPopUp, setShowPopUp] = useState(false);
|
395
|
+
const openInPopUp = () => setShowPopUp(true);
|
396
|
+
const closePopUp = () => setShowPopUp(false);
|
397
|
+
const debouncedTransformStringToLambda = useMemo(() => disabled
|
398
|
+
? undefined
|
399
|
+
: debounce(() => lambdaEditorState.convertLambdaGrammarStringToObject(), 1000), [lambdaEditorState, disabled]);
|
400
|
+
if (!disablePopUp && showPopUp) {
|
401
|
+
return (_jsxs(_Fragment, { children: [_jsx("div", { className: "lambda-editor" }), _jsx(LambdaEditorPopUp, { className: className, disabled: disabled, lambdaEditorState: lambdaEditorState, transformStringToLambda: debouncedTransformStringToLambda, onKeyDownEventHandlers: onKeyDownEventHandlers ?? [], onClose: closePopUp })] }));
|
402
|
+
}
|
403
|
+
return (_jsx(LambdaEditorInline
|
404
|
+
/**
|
405
|
+
* See the usage of `transformStringToLambda` as well as the instatiation of the editor in `LambdaEditorInner`.
|
406
|
+
* One of the big problem is that the editor uses lambda editor state (there are some non-trivial logic there, that
|
407
|
+
* handles string <-> lambda object conversion), but there are certain operations in this app that can potentially
|
408
|
+
* remove and recreate the lambda editor state, such as global generate or global compile, for such case, `LambdaEditorInner`
|
409
|
+
* receives a new lambda editor state, but since React is smart about redrawing the DOM, it will not recreate the instance
|
410
|
+
* of `monaco-editor` (see the useEffect() block), as such, the editor is using a stale state. That is definitely a bug;
|
411
|
+
* and to demonstrate, we can try the following sequence of actions:
|
412
|
+
*
|
413
|
+
* 1. Type something that parses in the lambda editor
|
414
|
+
* 2. Wait till the parse call finishes, hit F10 (trigger state update)
|
415
|
+
* 3. Type something to cause parser error
|
416
|
+
* 4. We will see that nothing happens. If we inspect network call, we will see a call returns with parsing error, but
|
417
|
+
* the editor is refering to the old state, hence no reporting
|
418
|
+
*
|
419
|
+
* As such, the most appropriate resolution is to intentionally force remount of lambda editor when user perform a state
|
420
|
+
* refresh operations. To do this, we use React `key` field with UUID bound to the state, as the state is recreated, the UUID
|
421
|
+
* changes and the editor is recreated. However, this alone is not enough because we use `useMemo` for the debounced
|
422
|
+
* transform function, which relies on another value other than the state (i.e. `disabled` flag), the same problem happens
|
423
|
+
* as the function goes stale if `disabled` flag changes value. For that, see the implementation trick below (involving refs and disposer)
|
424
|
+
*
|
425
|
+
* So technically, we don't need to do the force-remount using `key`, but to be cleaner, we prevent other poential bugs, we do it anyway
|
426
|
+
* to reset everything.
|
427
|
+
*/
|
428
|
+
, { className: className, disabled: disabled, lambdaEditorState: lambdaEditorState, transformStringToLambda: debouncedTransformStringToLambda, expectedType: expectedType, matchedExpectedType: matchedExpectedType, onExpectedTypeLabelSelect: onExpectedTypeLabelSelect, forceBackdrop: forceBackdrop, backdropSetter: backdropSetter, disableExpansion: disableExpansion, forceExpansion: disableExpansion !== undefined
|
429
|
+
? !disableExpansion && forceExpansion
|
430
|
+
: forceExpansion, disablePopUp: disablePopUp, useBaseTextEditorSettings: useBaseTextEditorSettings, hideErrorBar: hideErrorBar, onKeyDownEventHandlers: onKeyDownEventHandlers ?? [], openInPopUp: openInPopUp, onEditorFocusEventHandler: onEditorFocusEventHandler }, lambdaEditorState.uuid));
|
431
|
+
});
|
432
|
+
//# sourceMappingURL=LambdaEditor.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"LambdaEditor.js","sourceRoot":"","sources":["../../../src/components/shared/LambdaEditor.tsx"],"names":[],"mappings":"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"}
|