Saludos cordiales:
Estoy desarrollando una aplicación donde tengo un grid, y a este le he agregado una columna que contiene un TemplateRenderer.
El template sería algo como esto…
class OrderItems extends PolymerElement {
static get template() {
return html`
<template is="dom-repeat" items="[[orderItems.orderItemsList]
]">
<div iditem="[[item.id]
]" on-click="handleClickOrderItem">
<span>[[item.description]
]</span>
<div>[[item.count]
]</div>
</div>
</template>`;
}
static get is() { return 'order-items' }
}
customElements.define(OrderItems.is, OrderItems);
Una clase java …
public class Order {
public static TemplateRenderer<OrderDto> getTemplate() {
return TemplateRenderer.of(
"<order-items"
+ " order-items-list='[[item.orderItems]
]'>"
...
"</order-items>");
}
private OrderDto orderdto
private List<OrderItem> orderItemsList;
public static Order create(OrderDto dto) {
return new Order(dto);
}
public Order(OrderDto dto){
orderdto = dto;
buildItems();
}
...
public List<OrderItem> getOrderItemsList(){
return orderItemsList;
}
...
}
Y en el grid…
...
grid.addColumn(Order.getTemplate()
.withProperty("orderItems", Order::create)
.withEventHandler("handleClickOrderItem", ....));
...
La pregunta es la siguiente… cómo puedo capturar el evento cuando se da un click en uno de los elementos que se crean dentro del “dom-repeat” y conocer cuál fue el item donde se generó el click?.
Saludos cordiales, HLicea