Package org.olat.core.gui.control.generic.portal

Examples of org.olat.core.gui.control.generic.portal.PortletContainer


      if (portletConfiguration == null)
        throw new AssertException("No portlet configuration found for portlet::" + portletName + " in portal::" + this.name);
      // add portal and portlet name to configuration
      portletConfiguration.put("portalName", this.name);
      portletConfiguration.put("id", portletName);
      PortletContainer pc = PortletFactory.getPortletContainerFor(portletConfiguration, getWindowControl(), ureq);     
      pc.addControllerListener(this);
      // remember this portlet container
      this.portletContainers.put(portletName, pc);
      String addLinkName = "command.add." + portletName;
      Link tmp = LinkFactory.createCustomLink(addLinkName, addLinkName, "add", Link.BUTTON_XSMALL, portalVC, this);
      tmp.setUserObject(portletName);
      // and add to velocity
      this.portalVC.put(portletName, pc.getInitialComponent());
     
      // check if portlet is active for this user
      Iterator colIter = this.portalColumns.iterator();
      boolean isActive = false;
      while (colIter.hasNext()) {
        List row = (List) colIter.next();
        Iterator rowIter = row.iterator();
        while (rowIter.hasNext()) {
          String activePortletName = (String) rowIter.next();
          if (portletName.equals(activePortletName)) isActive = true;
        }
      }
      if (isActive) {
        // initialize portlet container for active portlets only
        pc.initializeRunComponent(ureq);
      } else {
        // add it to inacitve portlets list if not active
        inactivePortlets.add(portletName);
      }
    }
View Full Code Here


  public void event(UserRequest ureq, Component source, Event event) {
    if (source instanceof Link && portalVC.getComponents().containsValue(source)) {
      Link tmp = (Link)source;
      String portletName = (String)tmp.getUserObject();
      List<String> firstColumn = this.portalColumns.get(0);
      PortletContainer pc = this.portletContainers.get(portletName);
      if (pc == null) throw new AssertException("trying to add portlet with name::" + portletName + " to portal, but portlet container did not exist. Could be a user modifying the URL...");
      // add to users portlet list
      firstColumn.add(portletName);
      // remove from inactive portlets list
      this.inactivePortlets.remove(portletName);
      // initialize portlet run component
      pc.initializeRunComponent(ureq);
      // save user config in db
      saveUserPortalColumnsConfiguration(ureq, portalColumns);
      // update possible links in gui
      updatePositionChangeLinks();
      portalVC.setDirty(true);
View Full Code Here

   */
  private void updatePorletContainerEditMode(UserRequest ureq, Boolean editMode) {
    Iterator portletsIter = this.portletsConfigurations.keySet().iterator();
    while (portletsIter.hasNext()) {
      String portletName = (String) portletsIter.next();
      PortletContainer pc = this.portletContainers.get(portletName);
      pc.setIsEditMode(ureq, editMode);
    }
  }
View Full Code Here

  /**
   * @see org.olat.core.gui.control.DefaultController#event(org.olat.core.gui.UserRequest, org.olat.core.gui.control.Controller, org.olat.core.gui.control.Event)
   */
  public void event(UserRequest ureq, Controller source, Event event) {
    if (source instanceof PortletContainer) {
      PortletContainer pc = (PortletContainer) source;
      String cmd = event.getCommand();
      boolean found = false;
      for (int column = 0; column < portalColumns.size(); column++) {
        List rows = portalColumns.get(column);
        for (int row = 0; row < rows.size(); row++) {
          String portletName = (String) rows.get(row);
          if (portletName.equals(pc.getPortlet().getConfiguration().get("id"))){
            if (cmd.equals("move.up")) {
              Collections.swap(rows, row, row - 1);
              found = true;
              break;
            } else if (cmd.equals("move.down")){
              Collections.swap(rows, row, row+1);
              found = true;
              break;
            } else if (cmd.equals("move.right")){
              rows.remove(row);
              List<String> newCol = portalColumns.get(column + 1);
              newCol.add(portletName);
              found = true;
              break;
            } else if (cmd.equals("move.left")){
              rows.remove(row);
              List<String> newCol = portalColumns.get(column - 1);
              newCol.add(portletName);
              found = true;
              break;
            } else if (cmd.equals("close")){
              pc.deactivateRunComponent();
              rows.remove(row);
              this.inactivePortlets.add(portletName);
              found = true;
              break;
            }
View Full Code Here

      List rows = (List) colIter.next();
      Iterator rowIter = rows.iterator();
      int rowcount = 0;
      while (rowIter.hasNext()) {
        String portletName = (String) rowIter.next();
        PortletContainer pc = this.portletContainers.get(portletName);
        // up command
        if(rowcount == 0) pc.setCanMoveUp(false);
        else pc.setCanMoveUp(true);
        // down command
        if (rowIter.hasNext()) pc.setCanMoveDown(true);
        else pc.setCanMoveDown(false);
        // left command
        if(colcount == 0) pc.setCanMoveLeft(false);
        else pc.setCanMoveLeft(true);
        // right command
        if (colIter.hasNext()) pc.setCanMoveRight(true);
        else pc.setCanMoveRight(false);
       
        rowcount++;
      }
      colcount++;
    }
View Full Code Here

   */
  protected void doDispose() {
    // cleanup all portlet containers
    Iterator iter = portletContainers.values().iterator();
    while (iter.hasNext()) {
      PortletContainer element = (PortletContainer) iter.next();
      element.dispose();
    }
    portletContainers = null;
  }
View Full Code Here

TOP

Related Classes of org.olat.core.gui.control.generic.portal.PortletContainer

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.