3113 Keep the link to view authors reflection visible even after sending to the examiner
This commit is contained in:
parent
64fe65ce80
commit
13fef97d0f
view/src/main/java/se/su/dsv/scipro
@ -48,7 +48,11 @@ public class ModalWindowPlus extends Panel {
|
||||
|
||||
public void show(AjaxRequestTarget target) {
|
||||
target.add(this);
|
||||
target.appendJavaScript(String.format("$('#%s').modal('show');", getMarkupId()));
|
||||
target.appendJavaScript(getShowJavascript());
|
||||
}
|
||||
|
||||
public String getShowJavascript() {
|
||||
return String.format("$('#%s').modal('show');", getMarkupId());
|
||||
}
|
||||
|
||||
public void close(AjaxRequestTarget target) {
|
||||
|
@ -50,7 +50,7 @@
|
||||
</wicket:fragment>
|
||||
</div>
|
||||
<wicket:container wicket:id="reflection">
|
||||
<a wicket:id="showReflection">View reflection</a>
|
||||
<a wicket:id="showReflection" href="#">View reflection</a>
|
||||
<div wicket:id="modal"></div>
|
||||
</wicket:container>
|
||||
</fieldset>
|
||||
|
@ -4,6 +4,8 @@ import org.apache.wicket.ajax.AjaxRequestTarget;
|
||||
import org.apache.wicket.ajax.form.AjaxFormChoiceComponentUpdatingBehavior;
|
||||
import org.apache.wicket.ajax.markup.html.AjaxLink;
|
||||
import org.apache.wicket.extensions.model.AbstractCheckBoxModel;
|
||||
import org.apache.wicket.markup.head.IHeaderResponse;
|
||||
import org.apache.wicket.markup.head.OnEventHeaderItem;
|
||||
import org.apache.wicket.markup.html.GenericWebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.WebMarkupContainer;
|
||||
import org.apache.wicket.markup.html.basic.Label;
|
||||
@ -18,7 +20,6 @@ import org.apache.wicket.markup.html.panel.Fragment;
|
||||
import org.apache.wicket.markup.html.panel.GenericPanel;
|
||||
import org.apache.wicket.model.IModel;
|
||||
import org.apache.wicket.model.LoadableDetachableModel;
|
||||
import org.apache.wicket.model.ResourceModel;
|
||||
import org.apache.wicket.model.StringResourceModel;
|
||||
import se.su.dsv.scipro.components.BootstrapRadioChoice;
|
||||
import se.su.dsv.scipro.components.DateLabel;
|
||||
@ -270,21 +271,27 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
super(id, author);
|
||||
this.gradingCriterion = gradingCriterion;
|
||||
|
||||
IModel<String> reflection = LoadableDetachableModel.of(() -> {
|
||||
Project project = CriteriaPanel.this.getModelObject().getProject();
|
||||
return reflectionService.getSubmittedReflection(project, author.getObject());
|
||||
});
|
||||
|
||||
modal = new LargeModalWindow("modal");
|
||||
modal.setTitle("Reflection");
|
||||
modal.setContent(id_ -> new MultiLineLabel(id_, new NullReplacementModel(reflection, "No reflection filled in.")));
|
||||
add(modal);
|
||||
|
||||
add(new AjaxLink<Void>("showReflection") {
|
||||
WebMarkupContainer showReflection = new WebMarkupContainer("showReflection") {
|
||||
@Override
|
||||
public void onClick(final AjaxRequestTarget target) {
|
||||
IModel<String> reflection = LoadableDetachableModel.of(() -> {
|
||||
Project project = CriteriaPanel.this.getModelObject().getProject();
|
||||
return reflectionService.getSubmittedReflection(project, author.getObject());
|
||||
});
|
||||
modal.setContent(id -> new MultiLineLabel(id, new NullReplacementModel(reflection, "No reflection filled in.")));
|
||||
modal.show(target);
|
||||
public void renderHead(IHeaderResponse response) {
|
||||
super.renderHead(response);
|
||||
// Doing it with a completely client-side JavaScript since
|
||||
// the form containing this component gets disabled which
|
||||
// prevents a regular AjaxLink from continuing to work.
|
||||
response.render(OnEventHeaderItem.forComponent(this, "click", modal.getShowJavascript() + "; return false;"));
|
||||
}
|
||||
});
|
||||
};
|
||||
add(showReflection);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -297,7 +304,7 @@ public class CriteriaPanel extends GenericPanel<SupervisorGradingReport> {
|
||||
protected void onConfigure() {
|
||||
super.onConfigure();
|
||||
boolean isReflectionCriteria = gradingCriterion.getObject().getTitle().startsWith("Ö6 ");
|
||||
setVisibilityAllowed(isReflectionCriteria && isEnabledInHierarchy());
|
||||
setVisibilityAllowed(isReflectionCriteria);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user