From 86eda3ce267bf6b7a37b47eb95901c59fadaf1d6 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Wed, 20 Jun 2018 11:23:17 +0200 Subject: [PATCH] OO-3545: reselect the node in the tree 'manually' after detaching a question from the pool --- .../editor/AssessmentTestComposerController.java | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java index 57cbb9aaeed..61798baf7f3 100644 --- a/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java +++ b/src/main/java/org/olat/ims/qti21/ui/editor/AssessmentTestComposerController.java @@ -884,15 +884,23 @@ public class AssessmentTestComposerController extends MainLayoutBasicController metadata.setOpenOLATMetadataMasterIdentifier(identifier); metadata.setOpenOLATMetadataIdentifier(UUID.randomUUID().toString()); doSaveManifest(); - return doReloadItem(ureq); + + // reselect the node (--force) + String itemId = itemRef.getIdentifier().toString(); + TreeNode newItemNode = menuTree.getTreeModel().getNodeById(itemId); + menuTree.setSelectedNode(newItemNode); + menuTree.open(newItemNode); + return doReloadItem(ureq); } private TreeNode doReloadItem(UserRequest ureq) { TreeNode selectedNode = menuTree.getSelectedNode(); updateTreeModel(false); - menuTree.setSelectedNodeId(selectedNode.getIdent()); - selectedNode = menuTree.getSelectedNode(); - partEditorFactory(ureq, selectedNode); + if(selectedNode != null) { + menuTree.setSelectedNodeId(selectedNode.getIdent()); + selectedNode = menuTree.getSelectedNode(); + partEditorFactory(ureq, selectedNode); + } return selectedNode; } -- GitLab