use of org.olat.ims.cp.CPManager in project openolat by klemens.
the class CPTreeController method updatePage.
/**
* @param page
*/
protected void updatePage(CPPage page) {
setCurrentPage(page);
CPManager cpMgm = CPManager.getInstance();
cpMgm.updatePage(cp, page);
cpMgm.writeToFile(cp);
updateTree();
selectTreeNodeByCPPage(page);
}
use of org.olat.ims.cp.CPManager in project openolat by klemens.
the class CPTreeController method doDrop.
private void doDrop(UserRequest ureq, String droppedNodeId, String targetNodeId, boolean asChild) {
TreeNode droppedNode = treeModel.getNodeById(droppedNodeId);
TreeNode targetNode = treeModel.getNodeById(targetNodeId);
String droppedNodeIdent = treeModel.getIdentifierForNodeID(droppedNodeId);
String targetNodeIdent = treeModel.getIdentifierForNodeID(targetNodeId);
CPManager cpMgm = CPManager.getInstance();
if (asChild) {
cpMgm.moveElement(cp, droppedNodeIdent, targetNodeIdent, 0);
cpMgm.writeToFile(cp);
} else if (targetNode.getParent() == null) {
// root -> do nothing
} else {
TreeNode parentTargetNode = (TreeNode) targetNode.getParent();
int index = TreeHelper.indexOf(targetNode, parentTargetNode);
boolean sibling = droppedNode.getParent().equals(parentTargetNode);
if (sibling) {
int droppedCurentIndex = TreeHelper.indexOf(targetNode, parentTargetNode);
if (droppedCurentIndex < index) {
index = index - 2;
}
}
if (index < 0) {
index = 0;
}
String parentTargetNodeIdent = treeModel.getIdentifierForNodeID(parentTargetNode.getIdent());
cpMgm.moveElement(cp, droppedNodeIdent, parentTargetNodeIdent, index + 1);
cpMgm.writeToFile(cp);
}
selectTreeNodeById(droppedNodeIdent);
updateTree();
fireEvent(ureq, new TreeEvent(TreeEvent.COMMAND_TREENODE_CLICKED, droppedNodeIdent));
}
Aggregations