Search in sources :

Example 46 with Link

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

the class CourseRuntimeController method doLifeCycleChange.

private void doLifeCycleChange(UserRequest ureq) {
    List<Link> breadCrumbs = toolbarPanel.getBreadCrumbs();
    BreadCrumb lastCrumb = null;
    if (breadCrumbs.size() > 0) {
        lastCrumb = (BreadCrumb) breadCrumbs.get(breadCrumbs.size() - 1).getUserObject();
    }
    if (lastCrumb == null || lastCrumb.getController() != lifeCycleChangeCtr) {
        // only create and add to stack if not already there
        lifeCycleChangeCtr = new RepositoryEntryLifeCycleChangeController(ureq, getWindowControl(), getRepositoryEntry(), reSecurity, handler);
        listenTo(lifeCycleChangeCtr);
        currentToolCtr = lifeCycleChangeCtr;
        toolbarPanel.pushController(translate("details.lifecycle.change"), lifeCycleChangeCtr);
    }
}
Also used : RepositoryEntryLifeCycleChangeController(org.olat.repository.ui.RepositoryEntryLifeCycleChangeController) BreadCrumb(org.olat.core.gui.components.stack.BreadcrumbedStackedPanel.BreadCrumb) Link(org.olat.core.gui.components.link.Link)

Example 47 with Link

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

the class GuiDemoFlexiFormMainController 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
public void event(UserRequest ureq, Component source, Event event) {
    // there are only events of type link from the demos navigation
    if (source instanceof Link) {
        Link sl = (Link) source;
        // userobject tells which demo to activate
        String uob = (String) sl.getUserObject();
        if (uob != null) {
            ControllerCreator cc = demos.get(uob);
            // update source
            VelocityContainer sourceVC = createVelocityContainer(uob);
            ShrinkController sc = new ShrinkController(false, sourceVC, "toggle source");
            sourceP.setContent(sc.getInitialComponent());
            // cleanup former democontroller
            if (demoController != null)
                demoController.dispose();
            contentP.popContent();
            // create new demo controller
            demoController = cc.createController(ureq, getWindowControl());
            contentP.pushContent(demoController.getInitialComponent());
        }
    }
}
Also used : Link(org.olat.core.gui.components.link.Link) ControllerCreator(org.olat.core.gui.control.creator.ControllerCreator) ShrinkController(org.olat.core.gui.control.generic.spacesaver.ShrinkController) VelocityContainer(org.olat.core.gui.components.velocity.VelocityContainer)

Example 48 with Link

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

the class IMBuddyListController method forgeBuddyLink.

private void forgeBuddyLink(BuddyGroup group, Buddy buddy) {
    String linkId = "buddy_" + group.getGroupKey() + "_" + buddy.getIdentityKey();
    if (buddiesListContent.getComponent(linkId) == null) {
        Link buddyLink = LinkFactory.createCustomLink(linkId, "cmd.buddy", "", Link.NONTRANSLATED, buddiesListContent, this);
        buddyLink.setCustomDisplayText(StringHelper.escapeHtml(buddy.getName()));
        String css = getStatusCss(buddy);
        buddyLink.setIconLeftCSS(css);
        buddyLink.setUserObject(buddy);
    }
    String linkIdAlt = "buddy_" + buddy.getIdentityKey();
    if (buddiesListContent.getComponent(linkIdAlt) == null) {
        Link buddyLink = LinkFactory.createCustomLink(linkIdAlt, "cmd.buddy", "", Link.NONTRANSLATED, buddiesListContent, this);
        buddyLink.setCustomDisplayText(StringHelper.escapeHtml(buddy.getName()));
        String css = getStatusCss(buddy);
        buddyLink.setIconLeftCSS(css);
        buddyLink.setUserObject(buddy);
    }
}
Also used : Link(org.olat.core.gui.components.link.Link)

Example 49 with Link

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

the class InstantMessagingMainController 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
public void event(UserRequest ureq, Component source, Event event) {
    if (source == available || source == dnd || source == unavailable) {
        Link link = (Link) source;
        doChangeStatus((String) link.getUserObject());
    } else if (source == onlineOfflineCount) {
        doOpenRoster(ureq);
    } else if (source instanceof Link) {
        Link link = (Link) source;
        // chat gets created by click on buddy list
        if (link.getCommand().equals(ACTION_MSG)) {
            // chats gets created by click on new message icon
            Object obj = link.getUserObject();
            if (obj instanceof Buddy) {
                Buddy buddy = (Buddy) obj;
                chatMgrCtrl.createChat(ureq, buddy);
                showNewMessageHolder.remove(buddy.getIdentityKey());
            }
            newMsgIcon.setDirty(true);
        }
    }
}
Also used : Link(org.olat.core.gui.components.link.Link) Buddy(org.olat.instantMessaging.model.Buddy)

Example 50 with Link

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

the class ReferencableEntriesSearchController method event.

@Override
public void event(UserRequest ureq, Component source, Event event) {
    if (source == segmentView) {
        if (event instanceof SegmentViewEvent) {
            SegmentViewEvent sve = (SegmentViewEvent) event;
            String segmentCName = sve.getComponentName();
            Component clickedLink = mainVC.getComponent(segmentCName);
            if (clickedLink == myEntriesLink) {
                searchCtr.doSearchByOwnerLimitType(ureq.getIdentity(), limitTypes);
            } else if (clickedLink == allEntriesLink) {
                switch(canBe) {
                    case referenceable:
                        searchCtr.doSearchForReferencableResourcesLimitType(ureq.getIdentity(), limitTypes, ureq.getUserSession().getRoles());
                        break;
                    case copyable:
                        searchCtr.doSearchForCopyableResourcesLimitType(ureq.getIdentity(), limitTypes, ureq.getUserSession().getRoles());
                        break;
                    case all:
                        searchCtr.doSearchByTypeLimitAccess(limitTypes, ureq);
                        break;
                }
            } else if (clickedLink == searchEntriesLink) {
                searchCtr.displaySearchForm();
            } else if (clickedLink == adminEntriesLink) {
                searchCtr.displayAdminSearchForm();
            }
            mainVC.setDirty(true);
        }
    } else if (source == createRessourceCmp || (source instanceof Link && ((Link) source).getUserObject() instanceof RepositoryHandler)) {
        removeAsListenerAndDispose(cmc);
        removeAsListenerAndDispose(createController);
        RepositoryHandler handler = (RepositoryHandler) ((Link) source).getUserObject();
        createController = handler.createCreateRepositoryEntryController(ureq, getWindowControl());
        listenTo(createController);
        String title = translate(handler.getCreateLabelI18nKey());
        cmc = new CloseableModalController(getWindowControl(), translate("close"), createController.getInitialComponent(), true, title);
        cmc.setCustomWindowCSS("o_sel_author_create_popup");
        listenTo(cmc);
        cmc.activate();
    } else if (source == importRessourceButton) {
        removeAsListenerAndDispose(importController);
        importController = new ImportRepositoryEntryController(ureq, getWindowControl(), limitTypes);
        listenTo(importController);
        removeAsListenerAndDispose(cmc);
        cmc = new CloseableModalController(getWindowControl(), translate("close"), importController.getInitialComponent(), true, "");
        listenTo(cmc);
        cmc.activate();
    }
}
Also used : SegmentViewEvent(org.olat.core.gui.components.segmentedview.SegmentViewEvent) ImportRepositoryEntryController(org.olat.repository.ui.author.ImportRepositoryEntryController) CloseableModalController(org.olat.core.gui.control.generic.closablewrapper.CloseableModalController) RepositoryHandler(org.olat.repository.handlers.RepositoryHandler) Component(org.olat.core.gui.components.Component) SegmentViewComponent(org.olat.core.gui.components.segmentedview.SegmentViewComponent) 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