I have simple function in screen controler which generates buttons in Table B via table generator.
I need to pass Table A item it the funcion. How to achieve this?
<column id="phoneNumber" generator="createCallButton" caption="msg://TelefonneCislo"/>
Example of code:
public Component createCallButton(UserPhone userPhone) {
if(userPhone.getPhoneNumber() != null){
String url = "tel:" + userPhone.getPhoneNumber();
Button btn = uiComponents.create(Button.class);
btn.setCaption(userPhone.getPhoneNumber());
btn.setIcon("font-icon:PHONE");
btn.addClickListener(clickEvent -> {
try {
Desktop desktop = java.awt.Desktop.getDesktop();
URI uri = new URI(url);
desktop.browse(uri);
Hovory newHovor = dataManager.create(Hovory.class);
newHovor.setTelefon(userPhone.getPhoneNumber());
newHovor.setStav("nove");
newHovor.setTrvanie(0.0);
newHovor.setNavrhyplatby(); //i need to pass value here so the record will be related to Table A
dataManager.commit(newHovor);
} catch(IOException | URISyntaxException e) {
LOG.warn(e.getMessage());
}
});
return btn;
} return null;
}