LookupScreenFacet
LookupScreenFacet
is essentially a ScreenFacet with an extended set of options for opening entity lookup screens.
Component’s XML-name: lookupScreen
.
Attributes
In addition to the attributes of ScreenFacet
, LookupScreenFacet
has the following attributes of EditorScreenFacet:
Events and Handlers
To generate a handler stub in Jmix Studio, select the facet in the screen descriptor XML or in the Component Hierarchy panel and use the Handlers tab of the Component Inspector panel. Alternatively, you can use the Generate Handler button in the top panel of the screen controller. |
AfterCloseEvent
AfterCloseEvent
is sent after the screen configured by the facet is closed. See AfterCloseEvent for details.
Programmatic registration of the event handler: use the addAfterCloseEventListener()
method.
AfterShowEvent
AfterShowEvent
is sent after the screen configured by the facet is shown. See AfterShowEvent for details.
Programmatic registration of the event handler: use the addAfterShowEventListener()
method.
Transformation
It is a handler that is invoked after entities are selected and validated in the lookup screen. See Transformation for details.
Programmatic usage: call the setTransformation()
method.
SelectValidator
It is a handler that is invoked when the user clicks Select in the lookup screen. See SelectValidator for details.
Programmatic usage: call the setSelectValidator()
method.
SelectHandler
The SelectHandler
delegate method allows you to get the collection of selected entities from the lookup screen. In the example below, the lookup screen of the Customer
entity is opened on button clicks, and the email of the selected customer is written to the textField
:
<facets>
<lookupScreen id="lookupScreen"
entityClass="ui.ex1.entity.Customer"
openMode="DIALOG"
screenClass="ui.ex1.screen.entity.customer.CustomerBrowse"
onButton="btn">
</lookupScreen>
</facets>
<layout>
<textField id="userField"/>
<button caption="Button"
id="btn"/>
</layout>
@Autowired
private TextField<String> userField;
@Install(to = "lookupScreen", subject = "selectHandler")
private void lookupScreenSelectHandler(Collection<Customer> collection) {
if (!collection.isEmpty()) {
userField.setValue(collection.iterator().next().getEmail());
}
}
Programmatic usage: call the setSelectHandler()
method.
All XML Attributes
You can view and edit attributes applicable to the facet using the Component Inspector panel of the Studio’s Screen Designer. |
container - entityClass - field - id - listComponent - onAction - onButton - openMode - screenClass - screenId