Image clickable area

Hi.
how define image clickable area ?

Hello!

Image component has a method:

Subscription addClickListener(Consumer<ClickEvent> listener);

You can add click listener in InitEvent:

@Autowired
private Image image;

@Autowired
protected Notifications notifications;

@Subscribe
public void onInit(InitEvent event) {
    image.addClickListener(clickEvent -> {
        notifications.create()
                .withCaption("Image clicked")
                .show();
    });
}

Or using @Subscribe annotation:

@Subscribe("imageClick")
protected void onImageClickClick(Image.ClickEvent event) {
    if (!event.isDoubleClick()) {
        notifications.create()
                .withCaption(getEventMessage(event))
                .withContentMode(ContentMode.HTML)
                .show();
    }
}
<image id="imageClick">
    <resource>
        <theme path="files/jmix-icon-login.svg"/>
    </resource>
</image>

See live demo in Sampler app: image-click