Search in sources :

Example 51 with Event

use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.

the class CheckboxEditController method formInnerEvent.

@Override
protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
    if (deleteLink == source) {
        fireEvent(ureq, new Event("delete"));
        if (courseNode != null) {
            ThreadLocalUserActivityLogger.log(CourseLoggingAction.CHECKLIST_CHECKBOX_DELETED, getClass(), LoggingResourceable.wrap(courseNode), LoggingResourceable.wrapNonOlatResource(StringResourceableType.checkbox, checkbox.getCheckboxId(), checkbox.getTitle()));
        }
    } else if (downloadFileLink == source) {
        doDownloadFile(ureq);
    } else if (deleteFileLink == source) {
        deleteFile();
    } else if (awardPointEl == source) {
        pointsEl.setVisible(withScore && awardPointEl.isAtLeastSelected(1));
    } else if (fileEl == source) {
        String filename = fileEl.getUploadFileName();
        downloadFileLink.setI18nKey(filename);
        downloadFileLink.setEnabled(false);
    }
    super.formInnerEvent(ureq, source, event);
}
Also used : FormEvent(org.olat.core.gui.components.form.flexible.impl.FormEvent) Event(org.olat.core.gui.control.Event)

Example 52 with Event

use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.

the class IQDisplayController method event.

@Override
public void event(UserRequest ureq, Component source, Event event) {
    if (retrievedFlag) {
        fireEvent(ureq, new IQEvent(IQEvent.TEST_PULLED));
        return;
    } else if (retrievedFlag || stoppedFlag) {
        fireEvent(ureq, new IQEvent(IQEvent.TEST_STOPPED));
        return;
    }
    if (source == myContent || source == qticomp) {
        // those must be links
        String wfCommand = event.getCommand();
        // process workflow
        AssessmentInstance ai = qticomp.getAssessmentInstance();
        if (qticomp == null || ai == null) {
            throw new RuntimeException("AssessmentInstance not valid.");
        }
        Navigator navig = ai.getNavigator();
        if (wfCommand.equals("mark")) {
            ai.mark(ureq.getParameter("id"), "true".equals(ureq.getParameter("p")));
            ai.persist();
            return;
        }
        if (wfCommand.equals("memo")) {
            try {
                String memo = java.net.URLDecoder.decode(ureq.getParameter("p"), "UTF-8");
                ai.setMemo(ureq.getParameter("id"), memo);
                ai.persist();
                return;
            } catch (UnsupportedEncodingException ex) {
                log.info("Could not decode memo text " + ureq.getParameter("p"));
            }
        }
        logAudit(ureq);
        if (wfCommand.equals("sitse")) {
            // submitItemorSection
            ItemsInput iInp = iqm.getItemsInput(ureq);
            if (iInp.getItemCount() > 0) {
                navig.submitItems(iInp);
            }
            if (ai.isClosed()) {
                // do all the finishing stuff
                if (navig.getInfo().isFeedback()) {
                // render the feedback
                } else {
                    event(ureq, source, new Event(QTIConstants.QTI_WF_SUBMIT));
                    return;
                }
            }
        } else if (wfCommand.equals("sitsec")) {
            // submit
            if (ai.isClosed()) {
                // do all the finishing stuff
                if (!qtistatus.isSurvey()) {
                    // for test and self-assessment, generate detailed results
                    generateDetailsResults(ureq, ai);
                } else {
                    // Send also finished event in case of survey
                    fireEvent(ureq, new IQSubmittedEvent());
                }
                return;
            }
        } else if (wfCommand.equals("sflash")) {
            // submit flash answer
            // 
            navig.submitItems(iqm.getItemsInput(ureq));
            if (ai.isClosed()) {
                // do all the finishing stuff
                event(ureq, source, new Event(QTIConstants.QTI_WF_SUBMIT));
                return;
            }
        } else if (wfCommand.equals("git")) {
            // goToItem
            String seid = ureq.getParameter("seid");
            String itid = ureq.getParameter("itid");
            if (seid != null && seid.length() != 0 && itid != null && itid.length() != 0) {
                int sectionPos = Integer.parseInt(seid);
                int itemPos = Integer.parseInt(itid);
                navig.goToItem(sectionPos, itemPos);
                // fxdiff BAKS-7 Resume function
                OLATResourceable sres = OresHelper.createOLATResourceableInstance("gse", new Long(sectionPos));
                WindowControl bwControl = addToHistory(ureq, sres, null, getWindowControl(), false);
                OLATResourceable ires = OresHelper.createOLATResourceableInstance("git", new Long(itemPos));
                addToHistory(ureq, ires, null, bwControl, true);
            }
        } else if (wfCommand.equals("gse")) {
            // goToSection
            String seid = ureq.getParameter("seid");
            if (seid != null && seid.length() != 0) {
                int sectionPos = Integer.parseInt(seid);
                navig.goToSection(sectionPos);
                // fxdiff BAKS-7 Resume function
                OLATResourceable sres = OresHelper.createOLATResourceableInstance("gse", new Long(sectionPos));
                addToHistory(ureq, sres, null);
            }
        } else if (wfCommand.equals(QTIConstants.QTI_WF_SUBMIT)) {
            // submit
            // Assessment
            navig.submitAssessment();
            postSubmitAssessment(ureq, ai);
        } else if (wfCommand.equals(QTIConstants.QTI_WF_CANCEL)) {
            // cancel
            // assessment
            navig.cancelAssessment();
        } else if (wfCommand.equals(QTIConstants.QTI_WF_SUSPEND)) {
            // suspend
            // assessment
            // just close the controller
            fireEvent(ureq, Event.DONE_EVENT);
            return;
        } else if (wfCommand.equals("close")) {
            qtistatus.update(null);
            // Parent controller need to pop, if they pushed previously
            fireEvent(ureq, Event.DONE_EVENT);
            return;
        }
        qtistatus.update(ai);
        if (!qtistatus.isSurvey())
            qtiscoreprogress.setActual(ai.getAssessmentContext().getScore());
        updateQuestionProgressDisplay(ai);
    } else if (source == closeButton) {
        // close component
        qtistatus.update(null);
        // Parent controller need to pop, if they pushed previously
        fireEvent(ureq, Event.DONE_EVENT);
        return;
    }
}
Also used : OLATResourceable(org.olat.core.id.OLATResourceable) Navigator(org.olat.ims.qti.navigator.Navigator) UnsupportedEncodingException(java.io.UnsupportedEncodingException) WindowControl(org.olat.core.gui.control.WindowControl) ItemsInput(org.olat.ims.qti.container.ItemsInput) IQEvent(org.olat.course.nodes.iq.IQEvent) AssessmentInstance(org.olat.ims.qti.process.AssessmentInstance) IQEvent(org.olat.course.nodes.iq.IQEvent) Event(org.olat.core.gui.control.Event) AssessmentModeNotificationEvent(org.olat.course.assessment.AssessmentModeNotificationEvent)

Example 53 with Event

use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.

the class RatingComponent method doDispatchRequest.

@Override
protected void doDispatchRequest(UserRequest ureq) {
    setDirty(true);
    String cmd = ureq.getParameter(VelocityContainer.COMMAND_ID);
    try {
        float rating = Float.parseFloat(cmd);
        // update GUI
        setCurrentRating(rating);
        // notify listeners
        Event event = new RatingEvent(rating);
        fireEvent(ureq, event);
    } catch (NumberFormatException e) {
        log.error("Error while parsing rating value::" + cmd);
    }
}
Also used : Event(org.olat.core.gui.control.Event)

Example 54 with Event

use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.

the class CPContentController method displayPage.

/**
 * Displays the correct edit page when node with the given id is selected.
 *
 * @param ureq
 * @param nodeID
 */
protected void displayPage(UserRequest ureq, String nodeID) {
    CPManager cpMgm = CPManager.getInstance();
    currentPage = new CPPage(nodeID, cp);
    String filePath = cpMgm.getPageByItemId(cp, currentPage.getIdentifier());
    logInfo("I display the page with id: " + currentPage.getIdentifier(), null);
    VFSItem f = cp.getRootDir().resolve(filePath);
    if (filePath == null) {
        displayInfoPage();
    } else if (f == null) {
        displayNotFoundPage();
    } else {
        currentPage.setFile((VFSLeaf) f);
        setContent(ureq, filePath);
    }
    fireEvent(ureq, new Event("Page loaded"));
}
Also used : VFSLeaf(org.olat.core.util.vfs.VFSLeaf) CPManager(org.olat.ims.cp.CPManager) VFSItem(org.olat.core.util.vfs.VFSItem) NewIframeUriEvent(org.olat.core.gui.control.generic.iframe.NewIframeUriEvent) Event(org.olat.core.gui.control.Event)

Example 55 with Event

use of org.olat.core.gui.control.Event in project OpenOLAT by OpenOLAT.

the class CPRuntimeController method doLayout.

private void doLayout(UserRequest ureq) {
    RepositoryEntry entry = getRepositoryEntry();
    final OLATResource resource = entry.getOlatResource();
    CPPackageConfig cpConfig = cpManager.getCPPackageConfig(resource);
    DeliveryOptions config = cpConfig == null ? null : cpConfig.getDeliveryOptions();
    WindowControl bwControl = getSubWindowControl("Layout");
    final DeliveryOptionsConfigurationController deliveryOptionsCtrl = new DeliveryOptionsConfigurationController(ureq, addToHistory(ureq, bwControl), config, "Knowledge Transfer#_cp_layout");
    deliveryOptionsCtrl.addControllerListener(new ControllerEventListener() {

        @Override
        public void dispatchEvent(UserRequest uureq, Controller source, Event event) {
            if (source == deliveryOptionsCtrl && (event == Event.DONE_EVENT || event == Event.CHANGED_EVENT)) {
                DeliveryOptions newConfig = deliveryOptionsCtrl.getDeliveryOptions();
                CPPackageConfig cConfig = cpManager.getCPPackageConfig(resource);
                if (cConfig == null) {
                    cConfig = new CPPackageConfig();
                }
                cConfig.setDeliveryOptions(newConfig);
                cpManager.setCPPackageConfig(resource, cConfig);
            }
        }
    });
    pushController(ureq, translate("tab.layout"), deliveryOptionsCtrl);
    setActiveTool(deliveryOptionsLink);
}
Also used : ControllerEventListener(org.olat.core.gui.control.ControllerEventListener) OLATResource(org.olat.resource.OLATResource) Event(org.olat.core.gui.control.Event) PopEvent(org.olat.core.gui.components.stack.PopEvent) RepositoryEntry(org.olat.repository.RepositoryEntry) WindowControl(org.olat.core.gui.control.WindowControl) RepositoryEntryRuntimeController(org.olat.repository.ui.RepositoryEntryRuntimeController) DeliveryOptionsConfigurationController(org.olat.core.gui.control.generic.iframe.DeliveryOptionsConfigurationController) Controller(org.olat.core.gui.control.Controller) DeliveryOptions(org.olat.core.gui.control.generic.iframe.DeliveryOptions) DeliveryOptionsConfigurationController(org.olat.core.gui.control.generic.iframe.DeliveryOptionsConfigurationController) UserRequest(org.olat.core.gui.UserRequest)

Aggregations

Event (org.olat.core.gui.control.Event)68 FormEvent (org.olat.core.gui.components.form.flexible.impl.FormEvent)14 WindowControl (org.olat.core.gui.control.WindowControl)12 ArrayList (java.util.ArrayList)10 UserRequest (org.olat.core.gui.UserRequest)10 Controller (org.olat.core.gui.control.Controller)10 Identity (org.olat.core.id.Identity)10 RepositoryEntry (org.olat.repository.RepositoryEntry)10 List (java.util.List)8 Link (org.olat.core.gui.components.link.Link)8 OLATResourceable (org.olat.core.id.OLATResourceable)8 ControllerEventListener (org.olat.core.gui.control.ControllerEventListener)6 GenericQtiNode (org.olat.ims.qti.editor.tree.GenericQtiNode)6 QItemViewEvent (org.olat.modules.qpool.ui.events.QItemViewEvent)6 Component (org.olat.core.gui.components.Component)5 TreeEvent (org.olat.core.gui.components.tree.TreeEvent)5 FormLink (org.olat.core.gui.components.form.flexible.elements.FormLink)4 PopEvent (org.olat.core.gui.components.stack.PopEvent)4 TableEvent (org.olat.core.gui.components.table.TableEvent)4 TableMultiSelectEvent (org.olat.core.gui.components.table.TableMultiSelectEvent)4