package de.flower.rmt.ui.page.venues.player; import de.flower.common.ui.panel.BasePanel; import de.flower.common.util.geo.LatLng; import de.flower.rmt.model.db.entity.Venue; import de.flower.rmt.service.IUrlProvider; import de.flower.rmt.ui.page.venues.manager.map.VenueMapPanel; import org.apache.wicket.markup.ComponentTag; import org.apache.wicket.markup.MarkupStream; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.model.CompoundPropertyModel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.PropertyModel; import org.apache.wicket.spring.injection.annot.SpringBean; import org.apache.wicket.util.string.Strings; /** * @author flowerrrr */ public class VenuePanel extends BasePanel { @SpringBean(name = "urlProvider") private IUrlProvider urlProvider; public VenuePanel(final IModel<Venue> model) { setDefaultModel(new CompoundPropertyModel<Venue>(model)); add(new Label("name")); add(new Label("address") { @Override public void onComponentTagBody(final MarkupStream markupStream, final ComponentTag openTag) { replaceComponentTagBody(markupStream, openTag, Strings.toMultilineMarkup(getDefaultModelObjectAsString())); } }); add(new VenueMapPanel(new PropertyModel<LatLng>(model, "latLng"), VenueMapPanel.getInfoWindowContent(model.getObject(), urlProvider.getDirectionsUrl(model.getObject().getLatLng())))); } }