Update the note in the table when the user is done editing.

This commit is contained in:
Andreas Svanberg 2024-07-03 13:33:21 +02:00
parent f5a7b592c0
commit 481d8cd76e
2 changed files with 14 additions and 0 deletions
view/src/main/java/se/su/dsv/scipro

@ -1,6 +1,7 @@
package se.su.dsv.scipro.components;
import org.apache.wicket.Component;
import org.apache.wicket.ajax.AjaxEventBehavior;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.behavior.AttributeAppender;
import org.apache.wicket.markup.ComponentTag;
@ -9,6 +10,7 @@ import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.Model;
import org.danekja.java.util.function.serializable.SerializableConsumer;
import java.util.function.Function;
@ -83,4 +85,13 @@ public class ModalWindowPlus extends Panel {
component.setOutputMarkupPlaceholderTag(true);
replace(component);
}
public void onClose(SerializableConsumer<AjaxRequestTarget> onClose) {
add(new AjaxEventBehavior("hidden.bs.modal") {
@Override
protected void onEvent(AjaxRequestTarget target) {
onClose.accept(target);
}
});
}
}

@ -63,6 +63,9 @@ public class ProjectNoteColumn extends AbstractExportableColumn<Project, String>
modal.setContent(componentId -> new ViewAndEditNoteForm(componentId, model));
add(modal);
setOutputMarkupId(true);
modal.onClose(target -> target.add(this));
add(new MaxLengthLabel("shortened_note", getDataModel(model)));
AjaxLink<Object> noteLink = new AjaxLink<>("view_note") {