From be3c1edd0a23c685e9cb3af213ee4d1f592b00ab Mon Sep 17 00:00:00 2001 From: gnaegi <none@none> Date: Thu, 10 Oct 2013 08:58:45 +0200 Subject: [PATCH] OO-815 fix refreshing of menu tree in CP editor after import --- .../olat/ims/cp/ui/CPEditMainController.java | 2 +- .../org/olat/ims/cp/ui/CPTreeController.java | 18 ++++++++---------- 2 files changed, 9 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java b/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java index 7a1c6565032..2fe2403e12e 100644 --- a/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java +++ b/src/main/java/org/olat/ims/cp/ui/CPEditMainController.java @@ -170,7 +170,7 @@ public class CPEditMainController extends MainLayoutBasicController { String newIdentifier = treeCtr.addNewHTMLPage(); contentCtr.displayPageWithMetadataEditor(ureq, newIdentifier); } else if (event instanceof NewCPPageEvent) { - contentCtr.displayPage(ureq, ((NewCPPageEvent) event).getCPPage().getIdentifier()); + contentCtr.displayPageWithMetadataEditor(ureq, ((NewCPPageEvent) event).getCPPage().getIdentifier()); } } else if (source == contentCtr) { // event from contentController diff --git a/src/main/java/org/olat/ims/cp/ui/CPTreeController.java b/src/main/java/org/olat/ims/cp/ui/CPTreeController.java index 9126acd9ee6..7eaa6876e75 100644 --- a/src/main/java/org/olat/ims/cp/ui/CPTreeController.java +++ b/src/main/java/org/olat/ims/cp/ui/CPTreeController.java @@ -98,6 +98,7 @@ public class CPTreeController extends BasicController { treeCtr.setDropEnabled(true); treeCtr.setDropSiblingEnabled(true); treeCtr.setDndAcceptJSMethod("treeAcceptDrop_notWithChildren"); + treeCtr.setExpandSelectedNode(false); treeCtr.addListener(this); setLinks(); @@ -248,10 +249,7 @@ public class CPTreeController extends BasicController { String nodeIdentifier = treeModel.getIdentifierForNodeID(nodeId); CPPage page = new CPPage(nodeIdentifier, cp); page.setTitle(title); - if (page.isOrgaPage()) { - updateTree(); - } - updatePage(page); + updatePage(page); // will update also tree } /** @@ -372,17 +370,17 @@ public class CPTreeController extends BasicController { uploadCtr = null; } } else if (source == uploadCtr) { - if (event instanceof NewCPPageEvent) { - // TODO:GW Is it necessary to set component dirty? - // getInitialComponent().setDirty(true); - fireEvent(ureq, event); - } - // Dispose the cmc and the podcastFormCtr. + // Dispose the cmc and the podcastFormCtr first so modal dialog is free for metadata dialog cmc.deactivate(); removeAsListenerAndDispose(cmc); cmc = null; removeAsListenerAndDispose(uploadCtr); uploadCtr = null; + // Forward event to main controller + if (event instanceof NewCPPageEvent) { + fireEvent(ureq, event); + updateTree(); + } } else if (source == dialogCtr) { // event from dialog (really-delete-dialog) if (event != Event.CANCELLED_EVENT) { -- GitLab