У меня есть следующий код, который должен отображать интерактивный значок, который открывает всплывающее диалоговое окно с длинной заметкой.
this.capacityCommentColumn = this.facilityGrid.addColumn(
p -> {
if (Strings.isNullOrEmpty(p.getCapacityComment())) {
return null;
} else {
return new ThemeResource("img/note.svg");
}
},
new ImageRenderer<>())
.setWidth(80)
.setCaption("Note");
this.facilityGrid.addItemClickListener(new ItemClickListener<MapQueryService.RowResult>() {
@Override
public void itemClick(Grid.ItemClick<MapQueryService.RowResult> event) {
if (event.getColumn() == capacityCommentColumn && !Strings.isNullOrEmpty(event.getItem().getCapacityComment())) {
final NoteWindow noteWindow = new NoteWindow();
noteWindow.txtDescription.setValue("test");
noteWindow.show();
}
}
});
Проблема в том, что код не реагирует на клики по фактическому изображению, только снаружи. Вы можете увидеть это ниже. Есть идеи, можно ли сделать изображение кликабельным?
pointer-events
? Возможно, это предотвращает событие click. В качестве альтернативы вы можете использовать столбец компонентов и обрабатывать все самостоятельно. - person Steffen Harbich   schedule 05.12.2017