Skip to content
Snippets Groups Projects
Commit 9696571b authored by srosse's avatar srosse
Browse files

OO-1219: update the preview of questions after clicking the breadcrumb

parent 6f54c28c
No related branches found
No related tags found
No related merge requests found
......@@ -256,6 +256,7 @@ public abstract class AbstractComponent implements Component {
*
* @return a list of the controllers listening (normally only one)
*/
@Override
public List<ComponentEventListener> debuginfoGetListeners() {
return listeners;
}
......@@ -263,6 +264,7 @@ public abstract class AbstractComponent implements Component {
/**
* @param controller
*/
@Override
public void addListener(ComponentEventListener controller) {
// tests if the same controller was already registered to avoid
// double-firing.
......@@ -272,7 +274,8 @@ public abstract class AbstractComponent implements Component {
+ "', controller was: " + controller.toString());
listeners.add(controller);
}
@Override
public void removeListener(ComponentEventListener controller) {
listeners.remove(controller);
}
......
......@@ -78,6 +78,8 @@ public interface Component {
public void addListener(ComponentEventListener controller);
public void removeListener(ComponentEventListener controller);
public List<ComponentEventListener> debuginfoGetListeners();
public void dispatchRequest(UserRequest ureq);
......
......@@ -32,6 +32,7 @@ import org.olat.core.gui.components.link.Link;
import org.olat.core.gui.components.link.LinkFactory;
import org.olat.core.gui.components.stack.BreadcrumbPanel;
import org.olat.core.gui.components.stack.BreadcrumbPanelAware;
import org.olat.core.gui.components.stack.PopEvent;
import org.olat.core.gui.components.velocity.VelocityContainer;
import org.olat.core.gui.control.Controller;
import org.olat.core.gui.control.Event;
......@@ -71,6 +72,7 @@ public class QuestionItemDetailsController extends BasicController implements Br
private CloseableModalController cmc;
private final VelocityContainer mainVC;
private DialogBoxController confirmDeleteBox;
private LayoutMain3ColsController editMainCtrl;
private SelectBusinessGroupController selectGroupCtrl;
private final MetadatasController metadatasCtrl;
private final UserCommentsAndRatingsController commentsAndRatingCtr;
......@@ -141,11 +143,16 @@ public class QuestionItemDetailsController extends BasicController implements Br
@Override
protected void doDispose() {
//
if(stackPanel != null) {
stackPanel.removeListener(this);
}
}
@Override
public void setBreadcrumbPanel(BreadcrumbPanel stackPanel) {
if(stackPanel != null) {
stackPanel.addListener(this);
}
this.stackPanel = stackPanel;
}
......@@ -167,6 +174,13 @@ public class QuestionItemDetailsController extends BasicController implements Br
fireEvent(ureq, new QItemEvent("next", metadatasCtrl.getItem()));
} else if(source == previousItem) {
fireEvent(ureq, new QItemEvent("previous", metadatasCtrl.getItem()));
} else if(source == stackPanel) {
if(event instanceof PopEvent) {
PopEvent pop = (PopEvent)event;
if(pop.getController() == editMainCtrl) {
doContentChanged(ureq);
}
}
}
}
......@@ -222,8 +236,8 @@ public class QuestionItemDetailsController extends BasicController implements Br
editCtrl = spi.getEditableController(ureq, getWindowControl(), item);
listenTo(editCtrl);
LayoutMain3ColsController mainCtrl = new LayoutMain3ColsController(ureq, getWindowControl(), editCtrl);
stackPanel.pushController("Edition", mainCtrl);
editMainCtrl = new LayoutMain3ColsController(ureq, getWindowControl(), editCtrl);
stackPanel.pushController("Edition", editMainCtrl);
}
private void doContentChanged(UserRequest ureq) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment