Search in sources :

Example 91 with GenericTreeNode

use of org.olat.core.gui.components.tree.GenericTreeNode in project openolat by klemens.

the class ScormAPIandDisplayController method switchToNextOrPreviousSco.

private void switchToNextOrPreviousSco(Link link) {
    String nextScoId = (String) link.getUserObject();
    GenericTreeNode tn = (GenericTreeNode) treeModel.getNodeByScormItemId(nextScoId);
    menuTree.setSelectedNodeId(tn.getIdent());
    iframectr.getInitialComponent().setVisible(true);
    String identifierRes = (String) tn.getUserObject();
    updateNextPreviousButtons(nextScoId);
    displayMessages(nextScoId, identifierRes);
    updateMenuTreeIconsAndMessages();
}
Also used : GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode)

Example 92 with GenericTreeNode

use of org.olat.core.gui.components.tree.GenericTreeNode in project openolat by klemens.

the class ScormAPIandDisplayController method updateMenuTreeIconsAndMessages.

private void updateMenuTreeIconsAndMessages() {
    menuTree.setDirty(true);
    Map<String, String> itemsStat = scormAdapter.getScoItemsStatus();
    Map<String, GenericTreeNode> idToNode = treeModel.getScormIdToNodeRelation();
    for (Iterator<String> it = itemsStat.keySet().iterator(); it.hasNext(); ) {
        String itemId = it.next();
        GenericTreeNode tn = idToNode.get(itemId);
        // change icon decorator
        tn.setIconDecorator1CssClass("o_scorm_" + itemsStat.get(itemId));
    }
}
Also used : GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode)

Example 93 with GenericTreeNode

use of org.olat.core.gui.components.tree.GenericTreeNode in project openolat by klemens.

the class TaxonomyAllTreesBuilder method loadTreeModel.

private void loadTreeModel(Map<Taxonomy, GenericTreeNode> rootNodesMap, Taxonomy taxonomy) {
    List<TaxonomyLevel> taxonomyLevels = taxonomyService.getTaxonomyLevels(taxonomy);
    Map<Long, GenericTreeNode> fieldKeyToNode = new HashMap<Long, GenericTreeNode>();
    for (TaxonomyLevel taxonomyLevel : taxonomyLevels) {
        Long key = taxonomyLevel.getKey();
        GenericTreeNode node = fieldKeyToNode.get(key);
        if (node == null) {
            node = new GenericTreeNode(nodeKey(taxonomyLevel));
            node.setTitle(taxonomyLevel.getDisplayName());
            node.setIconCssClass("o_icon_taxonomy_level");
            node.setUserObject(taxonomyLevel);
            fieldKeyToNode.put(key, node);
        }
        TaxonomyLevel parentLevel = taxonomyLevel.getParent();
        if (parentLevel == null) {
            // this is a root
            GenericTreeNode taxonomyNode = rootNodesMap.get(taxonomyLevel.getTaxonomy());
            taxonomyNode.addChild(node);
        } else {
            Long parentKey = parentLevel.getKey();
            GenericTreeNode parentNode = fieldKeyToNode.get(parentKey);
            if (parentNode == null) {
                parentNode = new GenericTreeNode("level-" + parentLevel.getKey());
                parentNode.setTitle(parentLevel.getDisplayName());
                parentNode.setIconCssClass("o_icon_taxonomy_level");
                parentNode.setUserObject(parentLevel);
                fieldKeyToNode.put(parentKey, parentNode);
            }
            parentNode.addChild(node);
        }
    }
}
Also used : GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) HashMap(java.util.HashMap) TaxonomyLevel(org.olat.modules.taxonomy.TaxonomyLevel)

Example 94 with GenericTreeNode

use of org.olat.core.gui.components.tree.GenericTreeNode in project openolat by klemens.

the class TaxonomyAllTreesBuilder method toTree.

public List<TaxonomyLevelRow> toTree(List<TaxonomyLevelRow> taxonomyLevels) {
    GenericTreeNode rootNode = new GenericTreeNode();
    Map<Long, GenericTreeNode> fieldKeyToNode = new HashMap<Long, GenericTreeNode>();
    for (TaxonomyLevelRow taxonomyLevel : taxonomyLevels) {
        Long key = taxonomyLevel.getKey();
        GenericTreeNode node = fieldKeyToNode.get(key);
        if (node == null) {
            node = new GenericTreeNode(nodeKey(taxonomyLevel));
            node.setUserObject(taxonomyLevel);
            fieldKeyToNode.put(key, node);
        }
        TaxonomyLevelRow parentLevel = taxonomyLevel.getParent();
        if (parentLevel == null) {
            // this is a root
            rootNode.addChild(node);
        } else {
            Long parentKey = parentLevel.getKey();
            GenericTreeNode parentNode = fieldKeyToNode.get(parentKey);
            if (parentNode == null) {
                parentNode = new GenericTreeNode("level-" + parentLevel.getKey());
                parentNode.setUserObject(parentLevel);
                fieldKeyToNode.put(parentKey, parentNode);
            }
            parentNode.addChild(node);
        }
    }
    List<TreeNode> nodeList = new ArrayList<>();
    TreeHelper.makeTreeFlat(rootNode, nodeList);
    List<TaxonomyLevelRow> sortedRows = new ArrayList<>();
    for (TreeNode node : nodeList) {
        if (node.getUserObject() != null) {
            sortedRows.add((TaxonomyLevelRow) node.getUserObject());
        }
    }
    return sortedRows;
}
Also used : GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) HashMap(java.util.HashMap) GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) TreeNode(org.olat.core.gui.components.tree.TreeNode) ArrayList(java.util.ArrayList) TaxonomyLevelRow(org.olat.modules.taxonomy.ui.TaxonomyLevelRow)

Example 95 with GenericTreeNode

use of org.olat.core.gui.components.tree.GenericTreeNode in project openolat by klemens.

the class TaxonomyAllTreesBuilder method loadTreeModel.

public void loadTreeModel(GenericTreeModel taxonomyTreesModel) {
    List<Taxonomy> taxonomyList = taxonomyService.getTaxonomyList();
    GenericTreeNode rootNode = new GenericTreeNode("Root", ROOT);
    taxonomyTreesModel.setRootNode(rootNode);
    Map<Taxonomy, GenericTreeNode> rootNodesMap = new HashMap<>();
    for (Taxonomy taxonomy : taxonomyList) {
        GenericTreeNode node = new GenericTreeNode("taxonomy-" + taxonomy.getKey());
        node.setTitle(taxonomy.getDisplayName());
        node.setIconCssClass("o_icon_taxonomy");
        node.setUserObject(taxonomy);
        rootNode.addChild(node);
        rootNodesMap.put(taxonomy, node);
    }
    loadTreeModel(rootNodesMap, null);
}
Also used : Taxonomy(org.olat.modules.taxonomy.Taxonomy) GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) HashMap(java.util.HashMap)

Aggregations

GenericTreeNode (org.olat.core.gui.components.tree.GenericTreeNode)124 TreeNode (org.olat.core.gui.components.tree.TreeNode)30 GenericTreeModel (org.olat.core.gui.components.tree.GenericTreeModel)24 CourseNode (org.olat.course.nodes.CourseNode)10 TaxonomyLevel (org.olat.modules.taxonomy.TaxonomyLevel)10 AssessmentSection (uk.ac.ed.ph.jqtiplus.node.test.AssessmentSection)10 HashMap (java.util.HashMap)8 INode (org.olat.core.util.nodes.INode)8 ArrayList (java.util.ArrayList)6 Element (org.dom4j.Element)6 XPath (org.dom4j.XPath)6 ExtManager (org.olat.core.extensions.ExtManager)6 Extension (org.olat.core.extensions.Extension)6 CatalogEntry (org.olat.repository.CatalogEntry)6 ActionExtension (org.olat.core.extensions.action.ActionExtension)4 GenericActionExtension (org.olat.core.extensions.action.GenericActionExtension)4 CourseNodeConfiguration (org.olat.course.nodes.CourseNodeConfiguration)4 QTI21QuestionType (org.olat.ims.qti21.model.QTI21QuestionType)4 Taxonomy (org.olat.modules.taxonomy.Taxonomy)4 AssessmentItem (uk.ac.ed.ph.jqtiplus.node.item.AssessmentItem)4