package nl.topicus.konijn.web.components.panels.events; import java.util.ArrayList; import java.util.List; import nl.topicus.konijn.violet.Message; import nl.topicus.konijn.violet.factories.MessagePacketFactory; import org.apache.wicket.ajax.AjaxRequestTarget; import org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Form; import org.apache.wicket.markup.html.form.TextField; import org.apache.wicket.markup.html.panel.Panel; import org.apache.wicket.model.Model; public class RadioContainerPanel extends Panel { private static final long serialVersionUID = 1L; private Label listenLinkText; private String nabUid; private TextField<String> textField; public RadioContainerPanel(String id, String nabUid) { super(id); this.nabUid = nabUid; Form<String> inputForm = new Form<String>("radioForm"); textField = new TextField<String>("listenUrl"); textField.setOutputMarkupId(true); textField.setModel(new Model<String>("")); inputForm.add(textField); listenLinkText = new Label("listenLinkText","Start listening"); AjaxSubmitLink listenLink = new AjaxSubmitLink("listenLink") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { if (textField.isEnabled()) { listenLinkText.setDefaultModelObject("Stop listening"); textField.setEnabled(false); target.add(listenLinkText); target.add(textField); String url = textField.getModelObject(); List<Message> messages = new ArrayList<Message>(); messages.add(new Message("ID", "12626205")); messages.add(new Message("CL", "16711680")); messages.add(new Message("ST", url)); messages.add(new Message("MW", null)); MessagePacketFactory.sendMessage(getNabUid(), messages); } else { listenLinkText.setDefaultModelObject("Start listening"); textField.setEnabled(true); target.add(listenLinkText); target.add(textField); List<Message> messages = new ArrayList<Message>(); messages.add(new Message("ID", "12626205")); messages.add(new Message("CL", "16711680")); messages.add(new Message("MW", null)); MessagePacketFactory.sendMessage(getNabUid(), messages); } } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { // TODO Auto-generated method stub } }; listenLinkText.setOutputMarkupId(true); listenLink.add(listenLinkText); inputForm.add(listenLink); add(inputForm.setOutputMarkupId(true)); } public String getNabUid() { return nabUid; } }