Search in sources :

Example 21 with EPPage

use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.

the class EPMapViewController method view.

public void view(UserRequest ureq) {
    PortfolioStructure currentEditedStructure = null;
    if (editCtrl != null) {
        removeAsListenerAndDispose(editCtrl);
        mainVc.remove(editCtrl.getInitialComponent());
        currentEditedStructure = editCtrl.getSelectedStructure();
    }
    initForm(ureq);
    editMode = EditMode.view;
    if (editButton != null) {
        editButton.setCustomDisplayText(translate("map.editButton.on"));
    }
    if (currentEditedStructure != null && pageCtrl != null) {
        EPPage page = getSelectedPage(currentEditedStructure);
        if (page != null) {
            pageCtrl.selectPage(ureq, page);
            addToHistory(ureq, page, null);
        }
    }
}
Also used : EPPage(org.olat.portfolio.model.structel.EPPage) PortfolioStructure(org.olat.portfolio.model.structel.PortfolioStructure)

Example 22 with EPPage

use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.

the class EPMultiplePageController method setAndInitNormalPage.

/**
 * @param ureq
 * @param pageNumberToInit
 * @param withComments
 */
private void setAndInitNormalPage(UserRequest ureq, int pageNumberToInit, boolean withComments) {
    PageTab tab = pageList.get(pageNumberToInit);
    PortfolioStructure structureElement = ePFMgr.loadPortfolioStructureByKey(tab);
    if (structureElement instanceof EPPage) {
        EPPage page = (EPPage) structureElement;
        PortfolioStructure map = ePFMgr.loadStructureParent(tab);
        WindowControl bwControl = addToHistory(ureq, OresHelper.createOLATResourceableInstance(EPPage.class, page.getKey()), null);
        currentActivePageCtrl = new EPPageViewController(ureq, bwControl, map, page, withComments, secCallback);
        listenTo(currentActivePageCtrl);
        // enable toc and changelog links
        disableLink_TOC(false);
        disableLINK_LC(false);
    }
}
Also used : EPPage(org.olat.portfolio.model.structel.EPPage) PortfolioStructure(org.olat.portfolio.model.structel.PortfolioStructure) WindowControl(org.olat.core.gui.control.WindowControl)

Example 23 with EPPage

use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.

the class EPTOCController method refreshAddElements.

/**
 * refreshing the add elements link to actual structure
 * @param ureq
 * @param struct maybe null -> hiding the add-button
 */
private void refreshAddElements(UserRequest ureq, PortfolioStructure struct) {
    tocV.remove(tocV.getComponent("addElement"));
    removeAsListenerAndDispose(addElCtrl);
    if (struct != null) {
        addElCtrl = new EPAddElementsController(ureq, getWindowControl(), struct);
        if (struct instanceof EPPage) {
            if (secCallback.canAddStructure()) {
                addElCtrl.setShowLink(EPAddElementsController.ADD_STRUCTUREELEMENT);
            }
            if (secCallback.canAddArtefact()) {
                addElCtrl.setShowLink(EPAddElementsController.ADD_ARTEFACT);
            }
        } else if (struct instanceof EPAbstractMap) {
            if (secCallback.canAddPage()) {
                addElCtrl.setShowLink(EPAddElementsController.ADD_PAGE);
            }
        } else {
            // its a structure element
            if (secCallback.canAddArtefact()) {
                addElCtrl.setShowLink(EPAddElementsController.ADD_ARTEFACT);
            }
        }
        listenTo(addElCtrl);
        tocV.put("addElement", addElCtrl.getInitialComponent());
    }
}
Also used : EPPage(org.olat.portfolio.model.structel.EPPage) EPAbstractMap(org.olat.portfolio.model.structel.EPAbstractMap) EPAddElementsController(org.olat.portfolio.ui.structel.EPAddElementsController)

Example 24 with EPPage

use of org.olat.portfolio.model.structel.EPPage in project openolat by klemens.

the class EPTOCController method event.

/**
 * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.components.Component, org.olat.core.gui.control.Event)
 */
@Override
protected void event(UserRequest ureq, Component source, Event event) {
    if (source instanceof Link) {
        Link link = (Link) source;
        if (link.getCommand().equals(DELETE_LINK_CMD)) {
            if (artefactClicked != null) {
                AbstractArtefact artefact = artefactClicked;
                PortfolioStructure parentStruct = getArtefactParentStruct(artefactClicked);
                ePFMgr.removeArtefactFromStructure(artefact, parentStruct);
                // refresh the view
                fireEvent(ureq, Event.CHANGED_EVENT);
            } else if (structureClicked != null) {
                if ((structureClicked instanceof EPPage) && !(structureClicked instanceof EPAbstractMap)) {
                    PortfolioStructure ps = structureClicked;
                    while (ePFMgr.loadStructureParent(ps) != null) {
                        ps = ePFMgr.loadStructureParent(ps);
                    }
                    int childPages = ePFMgr.countStructureChildren(ps);
                    if (childPages > 1) {
                        eSTMgr.removeStructureRecursively(structureClicked);
                        // refresh the view
                        fireEvent(ureq, Event.CHANGED_EVENT);
                    } else {
                        showError("last.page.not.deletable");
                    }
                } else if (structureClicked instanceof EPStructureElement && !(structureClicked instanceof EPAbstractMap)) {
                    // structures should always be deletable
                    eSTMgr.removeStructureRecursively(structureClicked);
                    // refresh the view
                    fireEvent(ureq, Event.CHANGED_EVENT);
                } else {
                    showInfo("element.not.deletable");
                }
            }
        }
    } else if (source == treeCtr) {
        if (event instanceof TreeEvent) {
            TreeEvent te = (TreeEvent) event;
            if (MenuTree.COMMAND_TREENODE_CLICKED.equals(te.getCommand())) {
                doSelectTreeElement(ureq, te);
            }
        } else if (event instanceof TreeDropEvent) {
            TreeDropEvent te = (TreeDropEvent) event;
            doDrop(ureq, te.getDroppedNodeId(), te.getTargetNodeId(), te.isAsChild());
        }
    }
}
Also used : EPStructureElement(org.olat.portfolio.model.structel.EPStructureElement) TreeEvent(org.olat.core.gui.components.tree.TreeEvent) EPPage(org.olat.portfolio.model.structel.EPPage) EPAbstractMap(org.olat.portfolio.model.structel.EPAbstractMap) AbstractArtefact(org.olat.portfolio.model.artefacts.AbstractArtefact) PortfolioStructure(org.olat.portfolio.model.structel.PortfolioStructure) TreeDropEvent(org.olat.core.gui.components.tree.TreeDropEvent) Link(org.olat.core.gui.components.link.Link)

Aggregations

EPPage (org.olat.portfolio.model.structel.EPPage)24 PortfolioStructure (org.olat.portfolio.model.structel.PortfolioStructure)16 EPStructureElement (org.olat.portfolio.model.structel.EPStructureElement)8 ArrayList (java.util.ArrayList)4 Link (org.olat.core.gui.components.link.Link)4 AbstractArtefact (org.olat.portfolio.model.artefacts.AbstractArtefact)4 EPAbstractMap (org.olat.portfolio.model.structel.EPAbstractMap)4 PortfolioStructureMap (org.olat.portfolio.model.structel.PortfolioStructureMap)4 Test (org.junit.Test)2 UserComment (org.olat.core.commons.services.commentAndRating.model.UserComment)2 UserCommentsCount (org.olat.core.commons.services.commentAndRating.model.UserCommentsCount)2 TreeDropEvent (org.olat.core.gui.components.tree.TreeDropEvent)2 TreeEvent (org.olat.core.gui.components.tree.TreeEvent)2 WindowControl (org.olat.core.gui.control.WindowControl)2 Identity (org.olat.core.id.Identity)2 EPStructuredMap (org.olat.portfolio.model.structel.EPStructuredMap)2 EPAddElementsController (org.olat.portfolio.ui.structel.EPAddElementsController)2 RepositoryEntry (org.olat.repository.RepositoryEntry)2 OLATResource (org.olat.resource.OLATResource)2