Search in sources :

Example 41 with Link

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

the class PageEditorController method doEditElement.

private void doEditElement(EditorFragment fragment) {
    for (EditorFragment eFragment : fragments) {
        eFragment.setEditMode(eFragment.equals(fragment));
    }
    // The link must every time created as new
    Link addAboveLink = LinkFactory.createLink("add.element.above", "add.element.above", getTranslator(), mainVC, this, Link.LINK);
    addAboveLink.setIconLeftCSS("o_icon o_icon-sm o_icon_element_before");
    addAboveLink.setElementCssClass("o_sel_add_element_above");
    addAboveLink.setUserObject(fragment);
    addAboveLink.setVisible(provider.getCreateHandlers().size() > 0);
    addAboveLink.setEnabled(provider.getCreateHandlers().size() > 0);
    fragment.setAddElementAboveLink(addAboveLink);
    Link addBelowLink = LinkFactory.createLink("add.element.below", "add.element.below", getTranslator(), mainVC, this, Link.LINK);
    addBelowLink.setIconLeftCSS("o_icon o_icon-sm o_icon_element_after");
    addBelowLink.setElementCssClass("o_sel_add_element_below");
    addBelowLink.setUserObject(fragment);
    addBelowLink.setVisible(provider.getCreateHandlers().size() > 0);
    addBelowLink.setEnabled(provider.getCreateHandlers().size() > 0);
    fragment.setAddElementBelowLink(addBelowLink);
    Link saveLink = LinkFactory.createLink("save.and.close", "save.element", getTranslator(), mainVC, this, Link.LINK);
    saveLink.setIconLeftCSS("o_icon o_icon-sm o_icon_close");
    saveLink.setElementCssClass("o_sel_save_element");
    saveLink.setUserObject(fragment);
    fragment.setSaveLink(saveLink);
    Link moveUpLink = LinkFactory.createLink("move.up", "move.up.element", getTranslator(), mainVC, this, Link.LINK + Link.NONTRANSLATED);
    moveUpLink.setIconLeftCSS("o_icon o_icon-sm o_icon_move_up");
    moveUpLink.setElementCssClass("o_sel_move_up_element");
    moveUpLink.setCustomDisplayText("");
    moveUpLink.setTitle(translate("move.up"));
    moveUpLink.setUserObject(fragment);
    moveUpLink.setEnabled(fragments.indexOf(fragment) > 0 && secCallback.canMoveUpAndDown());
    moveUpLink.setVisible(secCallback.canMoveUpAndDown());
    fragment.setMoveUpLink(moveUpLink);
    Link moveDownLink = LinkFactory.createLink("move.down", "move.down.element", getTranslator(), mainVC, this, Link.LINK + Link.NONTRANSLATED);
    moveDownLink.setIconLeftCSS("o_icon o_icon-sm o_icon_move_down");
    moveDownLink.setElementCssClass("o_sel_move_down_element");
    moveDownLink.setCustomDisplayText("");
    moveUpLink.setTitle(translate("move.down"));
    moveDownLink.setUserObject(fragment);
    moveDownLink.setEnabled((fragments.indexOf(fragment) < (fragments.size() - 1)) && secCallback.canMoveUpAndDown());
    moveDownLink.setVisible(secCallback.canMoveUpAndDown());
    fragment.setMoveDownLink(moveDownLink);
    Link deleteLink = LinkFactory.createLink("delete", "delete.element", getTranslator(), mainVC, this, Link.LINK);
    deleteLink.setIconLeftCSS("o_icon o_icon-sm o_icon_delete_item");
    deleteLink.setElementCssClass("o_sel_delete_element");
    deleteLink.setUserObject(fragment);
    deleteLink.setVisible(secCallback.canDeleteElement());
    deleteLink.setEnabled(secCallback.canDeleteElement());
    fragment.setDeleteLink(deleteLink);
    mainVC.setDirty(true);
}
Also used : Link(org.olat.core.gui.components.link.Link)

Example 42 with Link

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

the class BCPeekviewController 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 nodeLink = (Link) source;
        String relPath = (String) nodeLink.getUserObject();
        if (relPath == null) {
            fireEvent(ureq, new OlatCmdEvent(OlatCmdEvent.GOTONODE_CMD, nodeId));
        } else {
            fireEvent(ureq, new OlatCmdEvent(OlatCmdEvent.GOTONODE_CMD, nodeId + "/" + relPath));
        }
    }
}
Also used : OlatCmdEvent(org.olat.core.gui.components.htmlsite.OlatCmdEvent) Link(org.olat.core.gui.components.link.Link)

Example 43 with Link

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

the class CreateTestTargetController method event.

@Override
protected void event(UserRequest ureq, Component source, Event event) {
    if (source == formatQti12 || source == formatQti21) {
        Link link = (Link) source;
        String format = (String) link.getUserObject();
        ExportFormatOptions exportFormat = getExportFormat(format);
        fireEvent(ureq, new ExportFormatSelectionEvent(exportFormat));
    }
}
Also used : ExportFormatOptions(org.olat.modules.qpool.ExportFormatOptions) Link(org.olat.core.gui.components.link.Link) ExportFormatSelectionEvent(org.olat.modules.qpool.ui.events.ExportFormatSelectionEvent)

Example 44 with Link

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

the class CatalogNodeManagerController method loadNodesChildren.

protected void loadNodesChildren() {
    List<CatalogEntry> childCe = catalogManager.getNodesChildrenOf(catalogEntry);
    Collections.sort(childCe, new CatalogEntryComparator(getLocale()));
    List<String> subCategories = new ArrayList<>();
    int count = 0;
    for (CatalogEntry entry : childCe) {
        if (entry.getType() == CatalogEntry.TYPE_NODE) {
            String cmpId = "cat_" + (++count);
            VFSLeaf img = catalogManager.getImage(entry);
            if (img != null) {
                String imgId = "image_" + count;
                flc.contextPut(imgId, img.getName());
            }
            flc.contextPut("k" + cmpId, entry.getKey());
            String title = StringHelper.escapeHtml(entry.getName());
            Link link = LinkFactory.createCustomLink(cmpId, "select_node", cmpId, Link.LINK + Link.NONTRANSLATED, flc.getFormItemComponent(), this);
            link.setIconLeftCSS("o_icon o_icon_catalog_sub");
            link.setCustomDisplayText(title);
            link.setUserObject(entry.getKey());
            subCategories.add(Integer.toString(count));
            String titleId = "title_" + count;
            flc.contextPut(titleId, title);
        }
    }
    flc.contextPut("subCategories", subCategories);
}
Also used : VFSLeaf(org.olat.core.util.vfs.VFSLeaf) CatalogEntry(org.olat.repository.CatalogEntry) ArrayList(java.util.ArrayList) Link(org.olat.core.gui.components.link.Link)

Example 45 with Link

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

the class CourseRuntimeController method event.

@Override
protected void event(UserRequest ureq, Component source, Event event) {
    if (layoutLink == source) {
        doLayout(ureq);
    } else if (optionsLink == source) {
        doOptions(ureq);
    } else if (assessmentModeLink == source) {
        doAssessmentMode(ureq);
    } else if (certificatesOptionsLink == source) {
        doCertificatesOptions(ureq);
    } else if (lifeCycleChangeLink == source) {
        doLifeCycleChange(ureq);
    } else if (reminderLink == source) {
        doReminders(ureq);
    } else if (lecturesAdminLink == source) {
        doLecturesAdmin(ureq);
    } else if (lecturesLink == source) {
        doLectures(ureq);
    } else if (archiverLink == source) {
        doArchive(ureq);
    } else if (folderLink == source) {
        doCourseFolder(ureq);
    } else if (areaLink == source) {
        doCourseAreas(ureq);
    } else if (dbLink == source) {
        doDatabases(ureq);
    } else if (courseStatisticLink == source) {
        doCourseStatistics(ureq);
    } else if (testStatisticLink == source) {
        doAssessmentTestStatistics(ureq);
    } else if (surveyStatisticLink == source) {
        doAssessmentSurveyStatistics(ureq);
    } else if (assessmentLink == source) {
        doAssessmentTool(ureq);
    } else if (calendarLink == source) {
        launchCalendar(ureq);
    } else if (chatLink == source) {
        launchChat(ureq);
    } else if (searchLink == source) {
        launchCourseSearch(ureq);
    } else if (efficiencyStatementsLink == source) {
        doEfficiencyStatements(ureq);
    } else if (noteLink == source) {
        launchPersonalNotes(ureq);
    } else if (openGlossaryLink == source) {
        launchGlossary(ureq);
    } else if (leaveLink == source) {
        doConfirmLeave(ureq);
    } else if (source instanceof Link && "group".equals(((Link) source).getCommand())) {
        BusinessGroupRef ref = (BusinessGroupRef) ((Link) source).getUserObject();
        launchGroup(ureq, ref.getKey());
    } else if (source == toolbarPanel) {
        if (event instanceof VetoPopEvent) {
            delayedClose = Delayed.pop;
        } else if (event instanceof PopEvent) {
            processPopEvent(ureq, (PopEvent) event);
        }
    } else if (enableGlossaryLink == source) {
        toggleGlossary(ureq);
    }
    // Update window title
    if (source instanceof Link) {
        Link link = (Link) source;
        ICourse course = CourseFactory.loadCourse(getRepositoryEntry());
        String newTitle = course.getCourseTitle() + " - " + link.getI18n();
        getWindowControl().getWindowBackOffice().getWindow().setTitle(getTranslator(), newTitle);
    }
    super.event(ureq, source, event);
}
Also used : BusinessGroupRef(org.olat.group.BusinessGroupRef) VetoPopEvent(org.olat.core.gui.components.stack.VetoPopEvent) PopEvent(org.olat.core.gui.components.stack.PopEvent) ICourse(org.olat.course.ICourse) VetoPopEvent(org.olat.core.gui.components.stack.VetoPopEvent) 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