Search in sources :

Example 41 with Event

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

the class EPTOCController method doSelectTreeElement.

private void doSelectTreeElement(UserRequest ureq, TreeEvent te) {
    TreeNode selectedNode = treeCtr.getTreeModel().getNodeById(te.getNodeId());
    Object userObj = selectedNode.getUserObject();
    if (userObj instanceof PortfolioStructure) {
        // structure clicked
        structureClicked = (PortfolioStructure) userObj;
        refreshAddElements(ureq, structureClicked);
        delButton.setVisible(true);
        // send event to load this page
        fireEvent(ureq, new EPStructureChangeEvent(EPStructureChangeEvent.SELECTED, structureClicked));
    } else if (userObj instanceof AbstractArtefact) {
        // artefact clicked
        Object parentObj = ((TreeNode) selectedNode.getParent()).getUserObject();
        if (parentObj instanceof PortfolioStructure) {
            artefactClicked = (AbstractArtefact) userObj;
            PortfolioStructure structure = (PortfolioStructure) parentObj;
            refreshAddElements(ureq, null);
            delButton.setVisible(true);
            fireEvent(ureq, new EPArtefactClicked(ARTEFACT_NODE_CLICKED, structure));
        }
    } else {
        // root tree node clicked, no add/delete link
        delButton.setVisible(false);
        refreshAddElements(ureq, null);
        fireEvent(ureq, new Event(ARTEFACT_NODE_CLICKED));
    }
}
Also used : GenericTreeNode(org.olat.core.gui.components.tree.GenericTreeNode) TreeNode(org.olat.core.gui.components.tree.TreeNode) PortfolioStructure(org.olat.portfolio.model.structel.PortfolioStructure) AbstractArtefact(org.olat.portfolio.model.artefacts.AbstractArtefact) TreeEvent(org.olat.core.gui.components.tree.TreeEvent) TreeDropEvent(org.olat.core.gui.components.tree.TreeDropEvent) Event(org.olat.core.gui.control.Event) EPStructureChangeEvent(org.olat.portfolio.ui.structel.EPStructureChangeEvent) EPStructureChangeEvent(org.olat.portfolio.ui.structel.EPStructureChangeEvent) EPArtefactClicked(org.olat.portfolio.ui.structel.EPArtefactClicked)

Example 42 with Event

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

the class ChoiceTableDataModel method doAction.

private void doAction(UserRequest ureq, String value) {
    if (value.equals(COMMAND_PAGEACTION_SHOWALL)) {
        // updatePageing(null);	(see OLAT-1340)
        setShowAllSelected(true);
        fireEvent(ureq, new Event(COMMAND_PAGEACTION_SHOWALL));
        setDirty(true);
    } else if (value.equals(COMMAND_PAGEACTION_FORWARD)) {
        if (currentPageId != null) {
            updatePageing(Integer.valueOf(currentPageId.intValue() + 1));
            setDirty(true);
        }
    } else if (value.equals(COMMAND_PAGEACTION_BACKWARD)) {
        if (currentPageId != null) {
            updatePageing(Integer.valueOf(currentPageId.intValue() - 1));
            setDirty(true);
        }
    } else if (value.equals(COMMAND_SHOW_PAGES)) {
        setShowAllSelected(false);
        fireEvent(ureq, new Event(COMMAND_SHOW_PAGES));
        if (currentPageId != null) {
            updatePageing(Integer.valueOf(currentPageId.intValue()));
        } else {
            updatePageing(Integer.valueOf(1));
        }
        setDirty(true);
    } else {
        updatePageing(Integer.valueOf(value));
        setDirty(true);
    }
}
Also used : Event(org.olat.core.gui.control.Event)

Example 43 with Event

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

the class ProjectDetailsDisplayController 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 (projectBrokerManager.existsProject(project.getKey())) {
        if (source == editProjectButton) {
            fireEvent(ureq, new Event("switchToEditMode"));
        } else if (source == deleteProjectButton) {
            OLATResourceable projectOres = OresHelper.createOLATResourceableInstance(Project.class, project.getKey());
            this.lock = CoordinatorManager.getInstance().getCoordinator().getLocker().acquireLock(projectOres, ureq.getIdentity(), null);
            if (lock.isSuccess()) {
                deleteConfirmController = activateOkCancelDialog(ureq, null, translate("delete.confirm", project.getTitle()), deleteConfirmController);
            } else {
                this.showInfo("info.project.already.edit", project.getTitle());
            }
            return;
        } else if (event.getCommand().equals(CMD_OPEN_PROJECT_LEADER_DETAIL)) {
            if (source instanceof Link) {
                Link projectLeaderLink = (Link) source;
                final Identity identity = (Identity) projectLeaderLink.getUserObject();
                ControllerCreator ctrlCreator = new ControllerCreator() {

                    @Override
                    public Controller createController(UserRequest lureq, WindowControl lwControl) {
                        return new UserInfoMainController(lureq, lwControl, identity, true, false);
                    }
                };
                // wrap the content controller into a full header layout
                ControllerCreator layoutCtrlr = BaseFullWebappPopupLayoutFactory.createAuthMinimalPopupLayout(ureq, ctrlCreator);
                // open in new browser window
                this.openInNewBrowserWindow(ureq, layoutCtrlr);
            }
        } else if (source == attachedFileLink) {
            doFileDelivery(ureq, project, courseEnv, courseNode);
        } else if (source == changeProjectStateToNotAssignButton) {
            projectBrokerManager.setProjectState(project, Project.STATE_NOT_ASSIGNED);
            myContent.remove(changeProjectStateToNotAssignButton);
            changeProjectStateToAssignButton = LinkFactory.createButtonSmall("change.project.state.assign.button", myContent, this);
        } else if (source == changeProjectStateToAssignButton) {
            projectBrokerManager.setProjectState(project, Project.STATE_ASSIGNED);
            myContent.remove(changeProjectStateToAssignButton);
            changeProjectStateToNotAssignButton = LinkFactory.createButtonSmall("change.project.state.not_assign.button", myContent, this);
        }
    } else {
        this.showInfo("info.project.nolonger.exist", project.getTitle());
    }
}
Also used : Project(org.olat.course.nodes.projectbroker.datamodel.Project) OLATResourceable(org.olat.core.id.OLATResourceable) UserInfoMainController(org.olat.user.UserInfoMainController) Event(org.olat.core.gui.control.Event) ProjectEvent(org.olat.course.nodes.projectbroker.datamodel.ProjectEvent) Identity(org.olat.core.id.Identity) WindowControl(org.olat.core.gui.control.WindowControl) Link(org.olat.core.gui.components.link.Link) ControllerCreator(org.olat.core.gui.control.creator.ControllerCreator) UserRequest(org.olat.core.gui.UserRequest)

Example 44 with Event

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

the class GUIDemoMainController method handleOwnMenuTreeEvent.

@Override
protected Controller handleOwnMenuTreeEvent(Object uobject, final UserRequest ureq) {
    if (uobject.equals("guidemo-autocompletion")) {
        // for a demo of autocompletion, do a user search
        ListProvider provider = new ListProvider() {

            public void getResult(String searchValue, ListReceiver receiver) {
                Map<String, String> userProperties = new HashMap<String, String>();
                // We can only search in mandatory User-Properties due to problems
                // with hibernate query with join and not existing rows
                userProperties.put(UserConstants.FIRSTNAME, searchValue);
                userProperties.put(UserConstants.LASTNAME, searchValue);
                userProperties.put(UserConstants.EMAIL, searchValue);
                List<Identity> res = BaseSecurityManager.getInstance().getVisibleIdentitiesByPowerSearch(searchValue, userProperties, false, null, null, null, null, null);
                int maxEntries = 15;
                boolean hasMore = false;
                for (Iterator<Identity> it_res = res.iterator(); (hasMore = it_res.hasNext()) && maxEntries > 0; ) {
                    maxEntries--;
                    Identity ident = it_res.next();
                    User u = ident.getUser();
                    String key = ident.getKey().toString();
                    String displayKey = ident.getName();
                    String first = u.getProperty(UserConstants.FIRSTNAME, getLocale());
                    String last = u.getProperty(UserConstants.LASTNAME, getLocale());
                    String displayText = last + " " + first;
                    receiver.addEntry(key, displayKey, displayText, CSSHelper.CSS_CLASS_USER);
                }
                if (hasMore) {
                    receiver.addEntry("-1", ".....");
                }
            }
        };
        Controller c = new AutoCompleterController(ureq, getWindowControl(), provider, null, true, 60, 3, null);
        // for demo only, normally use in parent controller
        c.addControllerListener(new ControllerEventListener() {

            public void dispatchEvent(UserRequest uureq, Controller source, Event event) {
                EntriesChosenEvent ece = (EntriesChosenEvent) event;
                String sel = ece.getEntries().toString();
                getWindowControl().setInfo("selected entrie(s):" + sel);
            }
        });
        return c;
    }
    return null;
}
Also used : User(org.olat.core.id.User) HashMap(java.util.HashMap) ListProvider(org.olat.core.gui.control.generic.ajax.autocompletion.ListProvider) Controller(org.olat.core.gui.control.Controller) AutoCompleterController(org.olat.core.gui.control.generic.ajax.autocompletion.AutoCompleterController) GenericMainController(org.olat.core.gui.control.generic.layout.GenericMainController) ControllerEventListener(org.olat.core.gui.control.ControllerEventListener) Event(org.olat.core.gui.control.Event) EntriesChosenEvent(org.olat.core.gui.control.generic.ajax.autocompletion.EntriesChosenEvent) AutoCompleterController(org.olat.core.gui.control.generic.ajax.autocompletion.AutoCompleterController) Identity(org.olat.core.id.Identity) ListReceiver(org.olat.core.gui.control.generic.ajax.autocompletion.ListReceiver) EntriesChosenEvent(org.olat.core.gui.control.generic.ajax.autocompletion.EntriesChosenEvent) UserRequest(org.olat.core.gui.UserRequest)

Example 45 with Event

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

the class FolderComponent method doDispatchRequest.

@Override
protected void doDispatchRequest(UserRequest ureq) {
    if (ureq.getParameter(ListRenderer.PARAM_EDTID) != null) {
        fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_EDIT));
        return;
    } else if (ureq.getParameter(ListRenderer.PARAM_CONTENTEDITID) != null) {
        fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_EDIT_CONTENT));
        return;
    } else if (ureq.getParameter(ListRenderer.PARAM_SERV) != null) {
        // this is a link on a file... deliver it
        fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_SERV));
        // don't redraw the file listing when serving a resource -> timestamp not consumed
        setDirty(false);
        return;
    } else if (ureq.getParameter(ListRenderer.PARAM_SORTID) != null) {
        // user clicked on table header for sorting column
        setSortAsc(ureq.getParameter(ListRenderer.PARAM_SORTID));
        // just pass selected column
        sort(ureq.getParameter(ListRenderer.PARAM_SORTID));
        return;
    } else if (ureq.getParameter("cid") != null) {
        // user clicked add layer...
        fireEvent(ureq, new Event(ureq.getParameter("cid")));
        return;
    } else if (ureq.getParameter(ListRenderer.PARAM_VERID) != null) {
        fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_VIEW_VERSION));
        return;
    } else if (ureq.getParameter(ListRenderer.PARAM_EPORT) != null) {
        fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_ADD_EPORTFOLIO));
        return;
    } else if (ureq.getParameter(ListRenderer.PARAM_SERV_THUMBNAIL) != null) {
        // this is a link on a file... deliver it
        fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_SERV_THUMBNAIL));
        // don't redraw the file listing when serving a resource -> timestamp not consumed
        setDirty(false);
        return;
    }
    // regular browsing, set current container
    setCurrentContainerPath(ureq.getModuleURI());
    // do logging
    ThreadLocalUserActivityLogger.log(FolderLoggingAction.BC_FOLDER_READ, getClass(), CoreLoggingResourceable.wrapBCFile(getCurrentContainerPath()));
    fireEvent(ureq, new Event(FolderCommandFactory.COMMAND_BROWSE));
}
Also used : Event(org.olat.core.gui.control.Event)

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