mirror of
https://gitlab.kit.edu/uskyk/typicalc.git
synced 2024-11-09 10:50:42 +00:00
Re-focus input bar on syntax error
This commit is contained in:
parent
cd5213a929
commit
9c8897d436
@ -2,6 +2,7 @@ package edu.kit.typicalc.presenter;
|
|||||||
|
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import com.vaadin.flow.component.UI;
|
||||||
import edu.kit.typicalc.model.Model;
|
import edu.kit.typicalc.model.Model;
|
||||||
import edu.kit.typicalc.model.TypeInfererInterface;
|
import edu.kit.typicalc.model.TypeInfererInterface;
|
||||||
import edu.kit.typicalc.model.parser.ParseError;
|
import edu.kit.typicalc.model.parser.ParseError;
|
||||||
@ -9,6 +10,8 @@ import edu.kit.typicalc.util.Result;
|
|||||||
import edu.kit.typicalc.view.main.MainView;
|
import edu.kit.typicalc.view.main.MainView;
|
||||||
import edu.kit.typicalc.view.main.MainView.MainViewListener;
|
import edu.kit.typicalc.view.main.MainView.MainViewListener;
|
||||||
|
|
||||||
|
import static edu.kit.typicalc.view.main.InputBar.INPUT_FIELD_ID;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Manages data exchange between the view and the model.
|
* Manages data exchange between the view and the model.
|
||||||
*/
|
*/
|
||||||
@ -33,6 +36,9 @@ public class Presenter implements MainViewListener {
|
|||||||
Result<TypeInfererInterface, ParseError> result = model.getTypeInferer(lambdaTerm, typeAssumptions);
|
Result<TypeInfererInterface, ParseError> result = model.getTypeInferer(lambdaTerm, typeAssumptions);
|
||||||
if (result.isError()) {
|
if (result.isError()) {
|
||||||
view.displayError(result.unwrapError());
|
view.displayError(result.unwrapError());
|
||||||
|
// focus the input bar again
|
||||||
|
UI.getCurrent().getPage().executeJs(
|
||||||
|
"setTimeout(() => document.getElementById('" + INPUT_FIELD_ID + "').focus(), 0)");
|
||||||
} else {
|
} else {
|
||||||
view.setTypeInferenceView(result.unwrap());
|
view.setTypeInferenceView(result.unwrap());
|
||||||
}
|
}
|
||||||
|
@ -29,7 +29,7 @@ public class InputBar extends HorizontalLayout implements LocaleChangeObserver {
|
|||||||
/*
|
/*
|
||||||
* IDs for the imported .css-file
|
* IDs for the imported .css-file
|
||||||
*/
|
*/
|
||||||
private static final String INPUT_FIELD_ID = "inputField";
|
public static final String INPUT_FIELD_ID = "inputField";
|
||||||
private static final String INPUT_BAR_ID = "inputBar";
|
private static final String INPUT_BAR_ID = "inputBar";
|
||||||
private static final String INFER_BUTTON_ID = "inferButton";
|
private static final String INFER_BUTTON_ID = "inferButton";
|
||||||
private static final String EXAMPLE_BUTTON_ID = "exampleButton";
|
private static final String EXAMPLE_BUTTON_ID = "exampleButton";
|
||||||
|
Loading…
Reference in New Issue
Block a user