Search in sources :

Example 21 with CPManager

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);
}
Also used : CPManager(org.olat.ims.cp.CPManager)

Example 22 with CPManager

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));
}
Also used : TreeEvent(org.olat.core.gui.components.tree.TreeEvent) TreeNode(org.olat.core.gui.components.tree.TreeNode) CPManager(org.olat.ims.cp.CPManager)

Aggregations

CPManager (org.olat.ims.cp.CPManager)22 VFSLeaf (org.olat.core.util.vfs.VFSLeaf)6 DefaultElement (org.dom4j.tree.DefaultElement)4 TreeNode (org.olat.core.gui.components.tree.TreeNode)4 VFSItem (org.olat.core.util.vfs.VFSItem)4 CPResource (org.olat.ims.cp.objects.CPResource)4 File (java.io.File)2 ArrayList (java.util.ArrayList)2 TreeEvent (org.olat.core.gui.components.tree.TreeEvent)2 Event (org.olat.core.gui.control.Event)2 NewIframeUriEvent (org.olat.core.gui.control.generic.iframe.NewIframeUriEvent)2 VFSContainer (org.olat.core.util.vfs.VFSContainer)2 CPPackageConfig (org.olat.ims.cp.ui.CPPackageConfig)2 OLATResource (org.olat.resource.OLATResource)2