AnsweredAssumed Answered

Extender UINavigator

Question asked by kylian on May 18, 2010
Latest reply on May 19, 2010 by kylian
Buenas tardes,

Necesito personalizar la apariencia y el funcionamiento del componente Navigator suministrado por defecto por Alfresco. Originalmente tengo los espacios userhome-companyhome-myalfresco, que son los que visualizo en el Navigator, pero necesitaría añadir un elemento extra que al seleccionarse permita abrir un wizard ya predefinido y accesible mediante la action "wizard:myform". De forma que en dicho navigator aparezcan las siguientes opciones:

*CompanyHome
*UserHome
*MyAlfresco
*MyForm

Teniendo en cuenta que este componente es generado de forma automática por Alfresco no he visto otra alternativa que tratar de extender la clase UINavigator y en concreto su método encodeBegin, añadiendo en la parte final la parte de código

De esta forma lo que he hecho ha sido

public class UINavigatorCustom extends
      org.alfresco.web.ui.repo.component.UINavigator {
   @Override
   public void encodeBegin(FacesContext context) throws IOException {
      (…)

      if (NavigationBean.LOCATION_MYALFRESCO.equals(area) == false) {
         encodeSidebarButton(context, out, sideBarStyle,
               NavigationBean.LOCATION_MYALFRESCO,
               NavigationBean.MSG_MYALFRESCO);
      }
      
      /* MI NUEVO CODIGO*/
      
      out.write("<div class=\"sidebarButton\" ");
      out.write(sideBarStyle);
      out.write("><a:actionLink value=\"Creacion formulario\" showLink=\"false\" styleClass=\"containerButtonLegend\" action=\"wizard:formCreateContent\" id=\"a1_2\" />");
      out.write("</div>");
      
      
      /* FIN */

      out.write("</div>");
   }

Luego lógicamente en faces-config-repo.xml he referenciado el componente Navigator a mi nueva clase.

El problema es que esa última opción que he añadido al navigator no me aparece ni renderizada ni abre ningún wizard.

El html generado por otras opciones tiene esta pinta

<a href="#" onclick="document.forms['wizard']['wizard:sidebar-body:navigator'].value='panel:userhome';document.forms['wizard'].submit();return false;" class="sidebarButtonLink">Gestor documental
</a>

¿Qué debería poner o cómo debería gestionar el tema para poder visualizar esa nueva opción y que me abra el wizard identificado por la acción "wizard:formCreateContent"?

Gracias por anticipado.

Outcomes