1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
class ShipmentCard extends Card {
public ShipmentCard(ShipmentDto dto) {
setTitle("Shipment #" + dto.shipmentId());
setSubtitle(dto.shipmentRoute());
setHeaderSuffix(createStatusBadge(dto.status()));
setHeaderPrefix(new DriverAvatar(dto.driver()));
setMedia(new Image(dto.shipmentImageUrl(), IMAGE_ALT));
addThemeVariants(CardVariant.LUMO_COVER_MEDIA);
add(new Markdown(dto.shipmentDescription()));
addToFooter(
new PrimaryButton("Update Status", e -> openShipmentForm(dto)),
new Button("Track Shipment", e -> viewShipmentOnMap(dto))
);
}
}
void openShipmentForm(ShipmentDto dto) {/*TODO*/}
void viewShipmentOnMap(ShipmentDto dto) {/*TODO*/}
Shipment #VDN-45892
Berlin, DE → Turku, FI
In Transit
Carrier: Goodie Transport GmbH
Berlin → Travemünde (ferry) → Naantali → Turku. 12 pallets of temperature-controlled goods.
