Search in sources :

Example 6 with Link

use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.

the class BreadcrumbedStackedPanel method popController.

@Override
public void popController(Controller controller) {
    int index = getIndex(controller);
    if (index > 0 && index < stack.size()) {
        BreadCrumb popedCrumb = null;
        for (int i = stack.size(); i-- > index; ) {
            Link link = stack.remove(i);
            popedCrumb = (BreadCrumb) link.getUserObject();
            popedCrumb.dispose();
        }
        setContent(index - 1);
        updateCloseLinkTitle();
    }
}
Also used : Link(org.olat.core.gui.components.link.Link)

Example 7 with Link

use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.

the class BreadcrumbedStackedPanel method popUpToRootController.

@Override
public void popUpToRootController(UserRequest ureq) {
    if (stack.size() > 1) {
        for (int i = stack.size(); i-- > 1; ) {
            Link link = stack.remove(i);
            BreadCrumb crumb = (BreadCrumb) link.getUserObject();
            crumb.dispose();
        }
        // set the root controller
        Link rootLink = stack.get(0);
        BreadCrumb rootCrumb = (BreadCrumb) rootLink.getUserObject();
        setContent(rootCrumb.getController());
        updateCloseLinkTitle();
        fireEvent(ureq, new PopEvent(rootCrumb.getController(), false));
    }
}
Also used : Link(org.olat.core.gui.components.link.Link)

Example 8 with Link

use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.

the class BreadcrumbedStackedPanel method popContent.

@Override
public void popContent() {
    if (stack.size() > 1) {
        Link link = stack.remove(stack.size() - 1);
        BreadCrumb crumb = (BreadCrumb) link.getUserObject();
        crumb.dispose();
    }
}
Also used : Link(org.olat.core.gui.components.link.Link)

Example 9 with Link

use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.

the class BreadcrumbedStackedPanel method changeDisplayname.

@Override
public void changeDisplayname(String displayName, String iconLeftCss, Controller ctrl) {
    for (int i = stack.size(); i-- > 1; ) {
        Link link = stack.get(i);
        BreadCrumb crumb = (BreadCrumb) link.getUserObject();
        if (crumb.getController() == ctrl) {
            link.setCustomDisplayText(StringHelper.escapeHtml(displayName));
            if (StringHelper.containsNonWhitespace(iconLeftCss)) {
                link.setIconLeftCSS(iconLeftCss);
            } else {
                link.setIconLeftCSS(null);
            }
        }
    }
}
Also used : Link(org.olat.core.gui.components.link.Link)

Example 10 with Link

use of org.olat.core.gui.components.link.Link in project OpenOLAT by OpenOLAT.

the class BreadcrumbedStackedPanel method setContent.

private void setContent(int crumbIndex) {
    Link currentLink = stack.get(crumbIndex);
    BreadCrumb crumb = (BreadCrumb) currentLink.getUserObject();
    if (crumb.getController() == null) {
        if (crumbIndex - 1 >= 0) {
            Link parentLink = stack.get(crumbIndex - 1);
            BreadCrumb parentCrumb = (BreadCrumb) parentLink.getUserObject();
            setContent(parentCrumb.getController());
        }
    } else {
        setContent(crumb.getController());
    }
}
Also used : Link(org.olat.core.gui.components.link.Link)

Aggregations

Link (org.olat.core.gui.components.link.Link)234 ArrayList (java.util.ArrayList)50 Component (org.olat.core.gui.components.Component)26 Identity (org.olat.core.id.Identity)22 Controller (org.olat.core.gui.control.Controller)18 CloseableModalController (org.olat.core.gui.control.generic.closablewrapper.CloseableModalController)16 FormLink (org.olat.core.gui.components.form.flexible.elements.FormLink)14 List (java.util.List)12 VelocityContainer (org.olat.core.gui.components.velocity.VelocityContainer)12 BasicController (org.olat.core.gui.control.controller.BasicController)12 Date (java.util.Date)10 OlatCmdEvent (org.olat.core.gui.components.htmlsite.OlatCmdEvent)10 Event (org.olat.core.gui.control.Event)10 AbstractArtefact (org.olat.portfolio.model.artefacts.AbstractArtefact)10 DialogBoxController (org.olat.core.gui.control.generic.modal.DialogBoxController)9 VetoableCloseController (org.olat.core.gui.control.VetoableCloseController)8 WindowControl (org.olat.core.gui.control.WindowControl)8 CloseableCalloutWindowController (org.olat.core.gui.control.generic.closablewrapper.CloseableCalloutWindowController)8 PortfolioStructure (org.olat.portfolio.model.structel.PortfolioStructure)8 HashSet (java.util.HashSet)6