Nuevo botón que ejecuta un script

cancel
Showing results for 
Search instead for 
Did you mean: 
yakon_8894
Member II

Re: Nuevo botón que ejecuta un script

Hola lvs,

nosotros tenemos configurado algo así para mostrar el icono de un clip en las acciones cuando un documento tiene asociaciones y que aparezca una ventana emergente similar a la del botón (i) listando los documentos asociados junto con el nombre de la asociación. La acción la tenemos configurada de la siguiente manera:


<action id="clip_assoc">
  <evaluator>com.queres.web.action.evaluator.AssociationEvaluator</evaluator>
  <label-id>actions.clip.label</label-id>
  <tooltip>actions.clip.tooltip</tooltip>
  <image>/images/icons/add_attachment.gif</image>
  <onclick>
    var oLaunchElement = this;
    var callback = {
    success: function (o) {
      var script, head, infoMgr;
      if (document.getElementById('clip_assocs_js' ) === null){
        head = document.getElementsByTagName('head').item(0);
        script = document.createElement('script');
        script.text = o.responseText;
        script.type = 'text/javascript';
        script.id='clip_assocs_js';
        head.appendChild(script);
      }
      infoMgr = new Queres.PanelManager('NodeInfoBean.sendNodeInfo','noderef', 'extension/node_assoc_panel.ftl');
      infoMgr.toggle('#{r.nodeRef}',o.argument.launchElement);
    },
    failure: function(o) {
      alert('FAILURE');
    },
    argument : {
      launchElement : oLaunchElement
    },
      cache : false
    };
    YAHOO.util.Connect.asyncRequest('GET', '/alfresco/scripts/clip.js',callback, null);
  </onclick>
</action>

y luego en la configuración del browse_menu añadimos esa acción:


<action-group id="document_browse" replace="true">
  <action idref="clip_assoc"/>
</action-group>

Espero que te sirva de ayuda. Un saludo
lvasa
Member II

Re: Nuevo botón que ejecuta un script

Muchas gracias, lo intentaré hacer de esa forma.

Saludos
massanen_2296
Member II

Re: Nuevo botón que ejecuta un script

alguien lo ha podido resolver??? me parece muy raro que un usuario no pueda ejecutar el script de una acción… lo he provado con la 3.4d, 3.4e i 4 y no funciona. Con la 3.2r sí. No entiendo nada.
lvasa
Member II

Re: Nuevo botón que ejecuta un script

Hola,
  
No, no lo pude resolver. Parece que se trata de un bug. Abrí esta incidencia en JIRA:

http://issues.alfresco.com/jira/browse/ALF-7536

Al final lo que terminé haciendo fue llamar a un bean de Java desde la acción, en lugar de llamar a un script. Mi fichero web-client-config-custom.xml tiene esta forma:
   
<config>
      <actions>
         <action id="crear_expediente_btn">
            <label>Crear Expediente</label>
            <image>/images/icons/add.gif</image>
            <action-listener>#{CrearExpediente.crearExp}</action-listener>
            <action>[Outcome]</action>
            <params>
               <param name="noderef">#{actionContext.nodeRef}</param>
               <param name="id">#{actionContext.id}</param>
            </params>
         </action>
         
         <action-group id="space_browse_menu">
            <action idref="crear_expediente_btn" />
         </action-group>
         
         <action-group id="space_details_actions">
            <action idref="crear_expediente_btn" />
         </action-group>
         
         <action-group id="browse_actions_menu">
            <action idref="crear_expediente_btn" />
         </action-group>         
      </actions>
   </config>
donde CrearExpediente es el nombre de la clase y crearExp el nombre del método.

Además, para hacer esto, es necesario declarar el bean en el fichero faces-config-custom.xml.

Un saludo
massanen_2296
Member II

Re: Nuevo botón que ejecuta un script

Qué raro… me parece algo como muy elemental, no?? lástima…

Muchas gracias Ivs! pues seguiré con la 3.2r…