Merge branch 'm3_autocomplete_bug' into develop

This commit is contained in:
Emil Siverhall 2012-07-31 10:33:42 +02:00
commit ea53b74f45
2 changed files with 24 additions and 5 deletions
src/main/java/se/su/dsv/scipro/project/panels

@ -18,11 +18,11 @@
</div>
<div wicket:id="ideaDetails"></div>
<div>
<wicket:enclosure child="partnerPanel">
<div wicket:id="partnerEnclosure">
<b>Partner:</b><br />
<div wicket:id="partnerPanel"></div>
</wicket:enclosure>
<span class="right"><input type="submit" wicket:id="selectButton" value="Select project idea"/></span>
</div>
<span class="right"><input type="submit" wicket:id="selectButton" value="Select project idea"/></span>
</div>
</form>
</wicket:panel>

@ -2,13 +2,16 @@ package se.su.dsv.scipro.project.panels;
import java.util.TreeSet;
import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.basic.EnclosureContainer;
import org.apache.wicket.markup.html.form.Button;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.apache.wicket.spring.injection.annot.SpringBean;
import org.apache.wicket.util.time.Duration;
import se.su.dsv.scipro.data.dataobjects.ProjectClass;
import se.su.dsv.scipro.data.dataobjects.Student;
@ -34,6 +37,7 @@ public class AcceptIdeaDialogPanel extends Panel {
private static final long serialVersionUID = -9118352523380756043L;
private AddRemoveStudentsPanel partnerPanel;
private Button button;
public AcceptIdeaForm(String id, final IModel<SupervisorIdea> model, final User loggedInUser, final boolean unconfirmed) {
super(id, model);
@ -41,6 +45,19 @@ public class AcceptIdeaDialogPanel extends Panel {
add(new ProjectIdeaDetailsPanel("ideaDetails", model, unconfirmed, false));
addUnconfirmedContainer(model, loggedInUser, unconfirmed); //Info box with accept/decline buttons
addButton(model, loggedInUser, unconfirmed);
setFocusOnButton(); //Workaround to make partner selection work without the need to refocus.
}
private void setFocusOnButton() {
add(new AbstractAjaxTimerBehavior(Duration.milliseconds(1)) {
private static final long serialVersionUID = 8249890924500999472L;
@Override
protected void onTimer(AjaxRequestTarget target) {
target.focusComponent(button);
stop();
}
});
}
private void addUnconfirmedContainer(final IModel<SupervisorIdea> model, final User loggedInUser, final boolean unconfirmed) {
@ -83,11 +100,13 @@ public class AcceptIdeaDialogPanel extends Panel {
}
};
partnerPanel.setVisible(model.getObject().getProjectClass().getCode().equals(ProjectClass.BACHELOR) && !unconfirmed);
add(partnerPanel);
EnclosureContainer partnerEnclosure = new EnclosureContainer("partnerEnclosure", partnerPanel);
partnerEnclosure.add(partnerPanel);
add(partnerEnclosure);
}
private void addButton(final IModel<SupervisorIdea> model, final User loggedInUser, final boolean unconfirmed) {
Button button = new Button("selectButton") {
button = new Button("selectButton") {
private static final long serialVersionUID = 8805671593150004137L;