Merge branch 'm3_autocomplete_bug' into develop
This commit is contained in:
commit
ea53b74f45
src/main/java/se/su/dsv/scipro/project/panels
@ -18,10 +18,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div wicket:id="ideaDetails"></div>
|
<div wicket:id="ideaDetails"></div>
|
||||||
<div>
|
<div>
|
||||||
<wicket:enclosure child="partnerPanel">
|
<div wicket:id="partnerEnclosure">
|
||||||
<b>Partner:</b><br />
|
<b>Partner:</b><br />
|
||||||
<div wicket:id="partnerPanel"></div>
|
<div wicket:id="partnerPanel"></div>
|
||||||
</wicket:enclosure>
|
</div>
|
||||||
<span class="right"><input type="submit" wicket:id="selectButton" value="Select project idea"/></span>
|
<span class="right"><input type="submit" wicket:id="selectButton" value="Select project idea"/></span>
|
||||||
</div>
|
</div>
|
||||||
</form>
|
</form>
|
||||||
|
@ -2,13 +2,16 @@ package se.su.dsv.scipro.project.panels;
|
|||||||
|
|
||||||
import java.util.TreeSet;
|
import java.util.TreeSet;
|
||||||
|
|
||||||
|
import org.apache.wicket.ajax.AbstractAjaxTimerBehavior;
|
||||||
import org.apache.wicket.ajax.AjaxRequestTarget;
|
import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||||
import org.apache.wicket.markup.html.basic.EnclosureContainer;
|
import org.apache.wicket.markup.html.basic.EnclosureContainer;
|
||||||
import org.apache.wicket.markup.html.form.Button;
|
import org.apache.wicket.markup.html.form.Button;
|
||||||
import org.apache.wicket.markup.html.form.Form;
|
import org.apache.wicket.markup.html.form.Form;
|
||||||
import org.apache.wicket.markup.html.panel.Panel;
|
import org.apache.wicket.markup.html.panel.Panel;
|
||||||
import org.apache.wicket.model.IModel;
|
import org.apache.wicket.model.IModel;
|
||||||
|
import org.apache.wicket.model.Model;
|
||||||
import org.apache.wicket.spring.injection.annot.SpringBean;
|
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.ProjectClass;
|
||||||
import se.su.dsv.scipro.data.dataobjects.Student;
|
import se.su.dsv.scipro.data.dataobjects.Student;
|
||||||
@ -34,6 +37,7 @@ public class AcceptIdeaDialogPanel extends Panel {
|
|||||||
|
|
||||||
private static final long serialVersionUID = -9118352523380756043L;
|
private static final long serialVersionUID = -9118352523380756043L;
|
||||||
private AddRemoveStudentsPanel partnerPanel;
|
private AddRemoveStudentsPanel partnerPanel;
|
||||||
|
private Button button;
|
||||||
|
|
||||||
public AcceptIdeaForm(String id, final IModel<SupervisorIdea> model, final User loggedInUser, final boolean unconfirmed) {
|
public AcceptIdeaForm(String id, final IModel<SupervisorIdea> model, final User loggedInUser, final boolean unconfirmed) {
|
||||||
super(id, model);
|
super(id, model);
|
||||||
@ -41,6 +45,19 @@ public class AcceptIdeaDialogPanel extends Panel {
|
|||||||
add(new ProjectIdeaDetailsPanel("ideaDetails", model, unconfirmed, false));
|
add(new ProjectIdeaDetailsPanel("ideaDetails", model, unconfirmed, false));
|
||||||
addUnconfirmedContainer(model, loggedInUser, unconfirmed); //Info box with accept/decline buttons
|
addUnconfirmedContainer(model, loggedInUser, unconfirmed); //Info box with accept/decline buttons
|
||||||
addButton(model, loggedInUser, unconfirmed);
|
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) {
|
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);
|
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) {
|
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;
|
private static final long serialVersionUID = 8805671593150004137L;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user